SSH鍵生成〜GitHubに登録する手順のメモ
Macのターミナルからssh鍵生成してGitHubに登録してgit cloneするまでの手順のメモ。
リポジトリの作成はやってある前提で(Web画面からポチポチするだけだし…)。
より参考にすべきページはこちら。
Connecting to GitHub with SSH - User Documentation
この中の
Generating a new SSH key and adding it to the ssh-agent - User Documentation
と
Adding a new SSH key to your GitHub account - User Documentation
をやれば目的は達成されます。
鍵生成
.ssh配下など使いたい場所でssh-keygen
コマンド。
$ cd ~/.ssh $ ssh-keygen -t rsa -b 4096 -C "hoge@example.com" -f ./id_rsa_hoge
-C
でコメント。メールアドレスが一般的らしい。鍵を使い分けるため等ファイル名を変えたい場合は-f
オプションで。
実行するとパスフレーズを聞かれるので入力。不要な場合はenterで空に。
$ ssh-keygen -t rsa -b 4096 -C "hoge@example.com" -f ./id_rsa_hoge Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: ...
ファイルが2つ作られてればOK。
$ ls id_rsa_hoge # 秘密鍵 id_rsa_hoge.pub # 公開鍵
GitHubに鍵の追加
公開鍵をクリップボードにコピーする。今までlessで開いて〜とやっていたけどこれの方がスマートっぽい。
$ pbcopy < ~/.ssh/id_rsa.pub
あとはGitHubのWeb画面から操作。
git clone
ここまで終わったらターミナルに戻り、お好きなディレクトリでいざgit clone
!
$ git clone git@github.com:hoge/myrepo.git Cloning into 'myrepo'... ...
$ ls -la myrepo total 16 drwxr-xr-x 5 hoge staff 160 2 10 11:01 . drwxr-xr-x+ 31 hoge staff 992 2 10 11:01 .. drwxr-xr-x 12 hoge staff 384 2 10 11:01 .git -rw-r--r-- 1 hoge staff 1203 2 10 11:01 .gitignore -rw-r--r-- 1 hoge staff 39 2 10 11:01 README.md
期待通りの中身が入ってれば問題なし。お疲れさまでした。
ハマったところ
git clone
しようとしたところで悲しみのPermission denied (publickey)
。
$ git clone git@github.com:hoge/myrepo.git Cloning into 'myrepo'... (省略) git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
ssh-agentへの鍵の追加が必要でした。
$ ssh-add -K ~/.ssh/id_rsa_hoge
これを実行して再度git clone
したら無事できました。
Generating a new SSH key and adding it to the ssh-agent - User Documentation
ここの Adding your SSH key to the ssh-agent の節ですね。ちゃんと読んで、手順はきちんと守りましょう。
先人の知見:githubからcloneするときにPermission denied (publickey)エラーが発生する | ハックノート