【メモ】GitHubに登録しているSSHキーをサーバに登録してpullする

GitHub
過去の習慣からhttpsでgitを登録してpush/pullしていたのですけど、いい加減それもう出来なくなったからと怒られたので設定を変更することにしました。そのメモ。






1. GitHubに登録しているSSHキーを確認

GitHubに登録している公開鍵に対応する秘密鍵を用意します。まだ登録していない場合には、ペアを作成して公開鍵をGitHubに登録して下さい。

GitHub に SSH で接続する – GitHub Docs



2. サーバに秘密鍵を保存する

以下の場所に保存します。

vi ~/.ssh/id_rsa

id_rsaが既に存在している場合、上書きしてしまうので適当なファイル名を設定して下さい。ファイル名を「id_rsa」以外にした場合には「~/.ssh/config」ファイルを作成し、github.comに対する設定を記述する必要があります。

Host github.com
   User git
   Port 22
   HostName github.com
   IdentityFile ~/.ssh/id_rsa_original
   TCPKeepAlive yes
   PreferredAuthentications publickey
   IdentitiesOnly yes



3. id_rsaのパーミッションを変更する

デフォルトだと「0644」に設定されるため以下のように怒られます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for '/home/ec2-user/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/ec2-user/.ssh/id_rsa": bad permissions
Permission denied (publickey).

「0600」に変更しておきましょう。

chmod 0600 ~/.ssh/id_rsa



4. 接続テスト

以下のコマンドを実行します。

ssh -T git@github.com

以下のメッセージが出力されたらOK。「user」のところは自分のユーザー名になります。

Hi user! You've successfully authenticated, but GitHub does not provide shell access.



以上です。