GitHubをsshでcloneするまで

2019年から無料アカウントでもプライベートレポジトリが無制限に作成できるようなり、sshでのアクセスがより必要になってくるように思います。


SSHキーを作成

ssh-keygenコマンドにてSSH鍵を生成しますが、Msys2ではopensshパッケージに含まれています。メールアドレスはGitHubで登録したアドレスを設定します

% ssh-keygen -t rsa -b 4096 -C "github@registered-email.co.jp"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):   # デフォルトでOK
Enter passphrase (empty for no passphrase):                     # 空欄でOK
Enter same passphrase again:                                    # 空欄でOK
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
The key fingerprint is:
...

上記で/home/hoge/.ssh/id_rsaが秘密鍵、/home/hoge/.ssh/id_rsa.pubがGitHubに登録する公開鍵です。秘密鍵は他のユーザからアクセスできないようにアクセス権を設定しておきます


GitHubでSSHキーを登録

  • ログインし、右上のユーザメニューからSettingをクリックします
  • 続いて、左のメニューからSSH and GPG keysを選択
  • New SSH keyをクリック
  • Keyの欄に上記で生成した公開鍵 (/home/hoge/.ssh/id_rsa.pub)のテキストをすべて (ssh-rsa から最後のメールアドレスまで) コピーします
  • Add SSH keyをクリックしてGitHub上での設定は完了です

アクセス確認

それでは実際にアクセスしてみます

生成した秘密鍵を使用するためには、ssh-agentを起動して鍵を登録する必要があります

% eval $(ssh-agent -s)
% ssh-add /home/hoge/.ssh/id_rsa  #生成した秘密鍵

上記は.bashrcなどに記載しておくといいと思います

それでは以下のコマンドでアクセス確認です。(git@github.comはそのまま入力します。ユーザ名@github.comではありません)

% ssh -T git@github.com
The authenticity of host 'github.com (192.32.255.115)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E3IGOCspRomTzdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

最初の警告は初回のみ表示されます。以下のように表示されればアクセス成功です

Hi hogehoge! You've successfully authenticated, but GitHub does not provide shell access

おすすめ