はじめに
GitHubへのSSH鍵登録手順を忘れそうなのでメモ
鍵の有無確認
鍵がすでに作成されている場合は、新たに作らなくてもいいので存在を確認する。
$ ls ~/.ssh
以下のファイルがある場合は、鍵を新たに作成する必要なし。
id_rsa
id_rsa.pub
鍵の作成
無い場合は、以下のコマンドで鍵を作成する
※メールアドレスは自分のものを入力する
$ ssh-keygen -t rsa -C "name@example.com"
いくつか(多分3つ)の質問がされるので、とりあえず何も考えずにEnterで進めてOK
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hoge/.ssh/id_rsa): 質問1
Enter passphrase (empty for no passphrase): 質問2
Enter same passphrase again: 質問3
... 以下略
これで id_rsa
id_rsa.pub
が作成されたはず。
ここまでで、鍵の生成は完了。
鍵を登録
ターミナルを使って、作成したキーをコピーする。
$ pbcopy < ~/.ssh/id_rsa.pub
GitHubのSettingsから SSH and GPG keys
を選択し、コピーしたキー(文字列)をペーストして登録
疎通確認
以下のコマンドを実行
$ ssh -T git@github.com
以下の出力があれば成功
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
おまけ
Vagrantを使ったゲストOSを鍵を共有する
Vagrantfile で config.ssh.forward_agent = true
と設定しておく。
で、ホストOS側でssh-agentに秘密鍵を登録しないと、ゲストOSと共有できないので、以下のコマンドを実行
$ ssh-add -K ~/.ssh/id_rsa
Macの場合は、もともとssh-agentが有効になっているので、なにも考えずに実行するだけでOK
(他のOSは別途有効にする必要あり)