GitHubにSSH接続するための手順を紹介します。SSH接続するためには、はじめに公開鍵と秘密鍵を生成し、公開鍵の登録をする必要があります。
まずは、公開鍵と秘密鍵を生成していきましょう。
公開鍵と秘密鍵を生成する
鍵を格納するフォルダに移動します。
$cd ~/.ssh
ssh-keygen -t rsa コマンドで鍵を生成します。コマンドを実行すると、いくつか質問が聞かれます。一つ目の質問は、鍵の名前です。デフォルトでは「id_rsa」となります。名前を変更する場合は、ここで変更してください。すでに「id_rsa」が存在する場合は、上書きされますので気をつけてください。
2つ目、3つ目はパスフレーズに関する質問です。パスフレーズを設定することも可能ですが、そのままエンターを押して、設定しないことも可能です。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/[userName]/.ssh/id_rsa): id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
id_rsa と id_rsa.pub という2つのファイルが生成されました。id_rsaが秘密鍵、id_rsa.pubが公開鍵ファイルです。秘密鍵はローカルで保管し、公開鍵のコードをGitHubに登録します。
GitHubに公開鍵を登録する
GitHubに公開鍵を登録するために、cat コマンドで表示された文字列をコピーしておきます。
$ cat id_rsa.pub
以下のURLから、GitHubの公開鍵の登録するページにいきます。
https://github.com/settings/keys
GitHubのページに飛んだら、「New SSH key」をクリックします。
「Title」は空欄でも構いません。「Key」に先ほどコピーした公開鍵のコードを貼り付けて登録します。
接続確認
ssh -T git@github.com と打って、以下のように返ってきたら成功です。
$ ssh -T git@github.com
Hi wellstonedesign! You've successfully authenticated, but GitHub does not provide shell access.
鍵の名前を変更した場合
初期設定では、id_rsaを自動的に参照されるようになっているため、鍵の名前を変更した場合は、今回作成した鍵を参照するように設定する必要があります。
今回作成した秘密鍵を参照するようにする
以下の手順は、鍵の名前を「id_git_rsa」とした例です。この場合、GitHubにSSH接続をした時に「 id_git_rsa」を参照するように設定します。そのために、同じディレクトリに config を作成して設定を記述します。
configを作成する
touchコマンドでconfigを作成し、viで開きます。
$ touch config
$ vi config
viで開いたら、以下の設定をコピー&ペーストします。viは慣れないとわかりづらいですが…「:q」で閉じる、「:w」で保存、までわかれば編集はできます。
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_git_rsa
User git
接続確認
ssh -T git@github.com と打って、以下のように返ってきたら成功です。
$ ssh -T git@github.com
Hi wellstonedesign! You've successfully authenticated, but GitHub does not provide shell access.