はじめに
GitHubとssh接続を行うためには、以下の手順が必要。
(1)GitBashを起動
(2)管理フォルダの作成
(3)公開鍵と非公開鍵を作成
(4)ssh-agentを起動し、非公開鍵をこれに追加
(5)公開鍵のキーの中身をクリップボードにコピー
(6)公開鍵をGitHubのsshキーページに登録
(7)GitHubとのssh接続がうまくいったか否かの確認
(1)GitBashを起動
(2)管理フォルダの作成
$ mkdir .ssh #公開鍵と非公開鍵を入れるフォルダを作成
$ cd .ssh #フォルダにディレクトリ変更
(3)公開鍵と非公開鍵を作成
$ ssh-keygen -t rsa
以下が出力され、鍵の名前をGitHub_id_rsa
と入力したところ、無事に作成された。
Enter file in which to save the key (.ssh\id_rsa): GitHub_id_rsa
//公開鍵と非公開鍵の名前を決める。
//id_rsaの前に名前をつけないと、なぜかエラーや文字化けが起きた
Enter passphrase (empty for no passphrase):
//パスフレーズは入力せずにEnterとした。
Enter same passphrase again:
//パスフレーズは入力せずにEnterとした。
拡張子pubが公開鍵を表しているっぽい。
(4)ssh-agentを起動し、非公開鍵をこれに追加
ssh-agent を起動して秘密鍵を登録しておけば、sshサーバへの接続時に自動的に秘密鍵を適用して認証処理を行ってくれるため、接続の度にパスフレーズを入力する必要がなくなる
画像引用元:SSH Agents In Depth,https://dev.to/samuyi/ssh-agents-in-depth-4116
$ eval "$(ssh-agent -s)"
//ssh-agentを起動
Agent pid 6508
//番号が返された
$ ssh-add GitHub_id_rsa
//ssh-agentに非公開鍵を追加
Identity added: GitHub_id_rsa (GitHub_id_rsa)
//認証されたと返された
(5)公開鍵のキーの中身をクリップボードにコピー
$ clip < GitHub_id_rsa.pub
//パソコンのアカウント名が日本語だと、sshキー内のアカウント名部分が文字化けするっぽい
(6)公開鍵をGitHubのsshキーページに登録
タイトルに適当な名前を付けて、キー欄に公開鍵の中身をペーストする。
ペースト後、Add SSH Keyをクリック。
(7)GitHubとのssh接続がうまくいったか否かの確認
途中、Are you sure you want to continue connecting (yes/no)?
と聞かれるので、yes
とする
$ ssh -T git@github.com
//GitHubとのssh接続がうまくいったか否かを確かめる。
The authenticity of host 'github.com (192.30.255.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.255.113' (RSA) to the list of known hosts.
Hi Hiroki-IT! You've successfully authenticated, but GitHub does not provide shell access.
//成功
##引用リンク