Github に公開鍵を登録して接続する手順

参考 qiita.com

git の設定関連

リモートリポジトリの設定は済ませておく。

git remote add <リモートリポジトリの名前> <リモートポジトリのssh接続先>

# 例
git remote add origin git@github.com:nokt2018/test.git

鍵ファイルの作成

このコマンドで秘密鍵・公開鍵のファイルを作る。

ssh-keygen -t rsa
# tオプションで暗号化形式を指定
# ここではrsaという形式を指定している。

このコマンドを打ち込むと
これから作成する鍵ファイル名を入力するよう言われる。

Enter file in which to save the key (/home/vagrant/.ssh/id_rsa): 

# 入力例
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa): /home/vagrant/.ssh/github

次にパスフレーズの設定をするように言われる。

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

パスフレーズを入力し終わると
秘密鍵、公開鍵が上記で指定した場所に作成される。

Your identification has been saved in /home/vagrant/.ssh/github. # 秘密鍵
Your public key has been saved in /home/vagrant/.ssh/github.pub. # 公開鍵

~/.ssh/cofig を作成または編集する

~/.ssh/cofig ファイルがなければ作る。
ここではコマンドを使用してファイルに追記する。

cat << EOF >> ~/.ssh/config
Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/github
EOF

~/.ssh/config の記述について

Host github   # ssh github というコマンドを利用したときに使用される設定
  HostName github.com   # ssh の接続先、IPも可
  User git   # git という user 名で github.com にssh接続する
  IdentityFile ~/.ssh/github   # 秘密鍵ファイルの場所を指定する。
  Port 22   # ポートの設定もできる

githubに公開鍵を登録する。

下記のコマンドで表示される内容をコピーしてgithubに貼り付ける。

cat ~/.ssh/github.pub

この鍵ファイルは貼り付け時に一行になる。
改行されていたら操作を誤っている可能性が高いので注意する。

また行の末尾にはユーザ名@端末名が表示される。

接続の確認

ssh github

下記のようにgithubユーザ名が想定通り返ってくれば正しくSSH接続出来てる。

Hi nokt2018! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

あとは実際にgit pushして確かめる。