何回かやったりしたりしてるのでメモしています。
(追記してわかりやすくする可能性もアリ)
■ 公開鍵生成
すでにありそうな場合はid_rsaとid_rsa.pubはmvしておく。
mv id_rsa id_rsa.backup
mv id_rsa.pub id_rsa.pub.backup
してから
ssh-keygen
こんな感じっすかね。
パスフレーズも入力します。
(ちなみに以前エックスサーバーに登録した時はなしに設定すべきだったので、接続先に制約がないかは要確認です。)
■ 生成した公開鍵をgithub用のものにリネーム
mv id_rsa github_id_rsa
mv id_rsa.pub github_id_rsa.pub
として、
mv id_rsa.backup id_rsa
mv id_rsa.pub.backup id_rsa.pub
バックアップも戻します。
ここで vi ~/.ssh/config してSSHのconfigファイルを編集します。
Host github.com
HostName github.com
Port 22
User git
IdentityFile ~/.ssh/github_id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
私は上記のような感じに入力しています。
(参照)
http://superbrothers.hatenablog.com/entry/20090730/1248971671
■ GitHubに生成した公開鍵を設定
よく言われるのが改行は要らないように注意。
自分の場合は、
生成した公開鍵ファイルの最後尾にコンピューター名のようなものがついていたので
それが入らないように登録した。
■ 生成した鍵でssh接続を試行
ssh git@github.com
ここで、
PTY allocation request failed on channel 0
と言われ接続できなかったが、先生によるとsshのバージョンが違うのが問題とのこと。
本当かどうかはわからないけど
ssh -T git@github.com
したらPTY〜の後にちゃんと
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
Hi 【私のユーザー名】! You've successfully authenticated, but GitHub does not provide shell access.
と出た。
githubはシェルは提供していないが、私のユーザー名が出たので認証は成功しています。
■ EclipseにSSH設定
PreferenceのNetworkConnectionにSSHの鍵を貼ります。
これでEGitからユーザー・パスワードを入力せずに接続できるようになるでしょう。