GithubでSSHキー登録とうまくいかなかった時の対処メモです.
SSH登録の設定
キーの作成
まずクライアント(Mac)に公開鍵と秘密鍵を作成します
$ cd ~/.ssh/
$ ssh-keygen -t rsa -C "メールアドレス"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa): github_id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in github_id_rsa.
Your public key has been saved in github_id_rsa.pub.
~以下略~
鍵を確認します.
github_id_rsa(秘密鍵)とgithub_id_rsa.pub(公開鍵)のファイルが確認できれば成功です.
github_id_rsa.pub をGitHubへ登録します.
クライアント側(Mac)へのSSHキーの設定
公開鍵をGitHubに登録します.
以下のコマンドで、公開鍵をクリップボードにコピーにします.
$ pbcopy < ~/.ssh/github_id_rsa.pub
[Title] の項目に公開鍵の名前(任意の名前)と[Key]の項目に先ほどコピーした公開鍵の内容を貼付けます.
最後に[Add Key]をクリックしましょう.
sshコマンドのオプションを省略する設定
以下の設定でssh -l git -i ~/.ssh/github_id_rsa github.com
を省略します.
$ vi ~/.ssh/config
Host github.com
HostName github.com
IdentityFile ~/.ssh/github_id_rsa
User git
SSHの接続テスト
ターミナルのsshコマンドで接続確認を行います.
$ ssh -T git@github.com
これが出れば成功です.
Hi {account-name}! You've successfully authenticated,
but GitHub does not provide shell access.
うまくいかなかった場合
以下のメッセージが出てしまいました.
Warning: Permanently added the RSA host key for IP address '204.232.175.90' to the list of known hosts.
Permission denied (publickey).
対処1.
.sshの中にknown_hostsが自動的に作成されていますが、「github.com, ~」から始まる一行を削除します。「known_hosts」とは、SSH公開鍵のキャッシュで、初めての通信を行う際に追記登録されます.
$ vi ~/.ssh/known_hosts
~~~~ ファイルの中身 ~~~~
github.com,204.232.175.90 ssh-rsa AAA...
対処2.
ssh-add -l
して確認して、秘密鍵のパスが出てこなければssh秘密鍵を登録しましょう.
eval `ssh-agent`
$ ssh-add github_id_rsa(秘密鍵名)
接続テスト
再度、sshコマンドで接続確認を行います.
$ ssh git@github.com
これが出れば成功です.
Hi {account-name}! You've successfully authenticated,
but GitHub does not provide shell access.
エラーの場合
これでエラーの場合は
$ ssh -vT git@github.com
で出てきたエラーコードをGoogle先生に聞いてみてください.
参考
Githubのドキュメントを参考にしてみましょう.