[Github] SSH公開鍵を設定してSSH通信できるようにする

やりたいこと

Linux(Ubuntu14.04)から、GithubにSSH秘密鍵を使って接続できるよう設定します。
メールアドレス・パスワードを使って通信することはできますが、セキュリティ的に不十分な場合、SSH秘密鍵ファイルを利用して接続するようにしましょう。

Githubへの登録、gitのインストールは済んでいるものとします。
Windowsや他OSからでも基本的には同じです。

詳細は、Githubのページ、Connecting to GitHub with SSH(英語)に丁寧に解説してあります。
ここでは必要最低限の手順のみを抜き出して紹介します。

ターミナルでの作業

# SSH鍵ペアを作成
# SSH鍵ファイルパス、パスフレーズを聞かれるので、任意のものを入力。
$ ssh-keygen -t rsa -b 4096 -C "<メールアドレス>"

# ssh-agentを起動
$ eval $(ssh-agent -s)

# ssh-agentに秘密鍵を登録
# 例:$ ssh-add ~/.ssh/id_rsa_github
$ ssh-add [先程入力したSSH鍵ファイルパス]

# クリップボードにSSH公開鍵をコピー
# 任意のエディタでSSH公開鍵を開き、クリップボードにコピーでもOK
$ clip << [先程入力したSSH鍵ファイルパス].pub

Githubでの作業

「Setting」

「SSH and GPG Keys」

左上「New SSH Key」

「Key」に、クリップボードに保存しておいたSSH公開鍵を貼り付ける。
「Title」は何でもOK。Ubuntu Clientとか

接続確認(ふたたびターミナル)

$ ssh -T git@github.com
# -> Hi cod-sushi! You've successfully authenticated, but GitHub does not provide shell access.

出てくるフィンガープリントを確認して「yes」を押したあと、上記のようにユーザ名が表示されれば完了です。

お疲れ様でした。