EC2
に構築したサーバーからGithubにアクセスしてgit clone
してビルド&デプロイがしたい。
自動化する仕組みは色々あるけれど、今回は単純に自作のシェルを叩くだけ。
そのとき発生するのがパスワード問題。シェルに組み込んでおいたり、どこかのファイルに保存したりすればできるのだが、パスワードを平で保存するのはよろしくない。
Github
に公開鍵を登録して SSH
でアクセスすることができるので試してみる。
鍵をつくる
EC2
に構築したサーバーにログインして、以下を実行する。
cd ~
ssh-keygen -t rsa
パスフレーズを聞かれるので適当にいれる。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
すると ~/.ssh
以下に2ファイルできる。
ls ~/.ssh
id_rsa
id_rsa.pub
id_rsa.pub
の中身をコピーしておく。
GithubにDeploy Keyを登録する
各レポジトリの Settings
に Deploy Keys
メニューがある。
Add deploy key
を押す。
- Title・・・識別できるような名前(EC2とか)
- Key ・・・先ほど作成した
id_rsa.pub
ファイルの中身 - Allow write access・・・書き込みが必要かどうか。今回は不要。
Keyの中身は
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABA.....
のようになっているはず。これをそのまま貼り付ける。
こんな感じで登録される。
EC2からcloneしてみる
アクセスするためのURLがいつもと異なり、git@
ではじまる。
git clone git@github.com:yourname/yourrepo.git
これでパスワードなしでアクセスすることができた。
まとめ
- やりたいことはできた
- 普段からローカルPCでやるとセキュリティ上よろしくないかな
- Github便利