HTTPS通信でGitHubにパスワード認証ができなくなったので「SSH接続」したときのメモ。
SSH接続方法
公開鍵と秘密鍵を作ります。
$ ssh-keygen -t rsa -b 4096
3つ質問されます。
①鍵の置き場所(ファイル名をid_rsa以外にするかどうか)
Enterを押すと自動的にrsaになります。
今回は.sshディレクトリ内に既にid_rsaが存在したので別鍵を作ります。
(変更しない場合はEnter)
Enter file in which to save the key : id_rsa_aaa
②パスワードと③パスワード確認を入力
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
鍵を作りました。
The key's randomart image is:
+---[RSA 4096]----+
Host github github.com
| =*oo.. + |
| oB=+o .+ +|
| ..o=o * .+|
| ....+ * o .+|
| ..S * * +.|
| . = + oE .|
| . * o . |
| + + |
| .+ |
+----[SHA256]-----+
鍵ファイルができているか確認する。
公開鍵と秘密鍵ができていればOKです。
$ ll
-rw------- 1 aaa 3326 10月 27 11:50 id_rsa_aaa
-rw-r--r-- 1 aaa 751 10月 27 11:50 id_rsa_aaa.pub
.ssh/configファイルを作成する。
$ vi config
以下を.ssh/configファイル内に記述する。
githubの場合Userはgitで固定。
これで自ユーザー環境内でGitHubにSSHで接続する際はユーザーをgitにして、
鍵ファイルを「~/.ssh.id_rsa_aaa」にして接続するようになる。
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_aaa
User git
catでid_rsa_aaa.pubファイル内をコピペし公開鍵をGithubに設置する。
GitHubにログインし下記ステップから公開鍵をペーストして保存。
settings → Developer settings → Personal access tokens (classic)
$ cat config
SSHで接続可能か確認する。
$ ssh -T git@github.com
以下のようなエラーが出た。
アクセスする権限がないようです。
Bad owner or permissions on /.ssh/config
権限を600に変更する。
$ chmod 600 ~/.ssh/config
再度SSHで接続可能か確認する。
$ ssh -T git@github.com
SSH接続に成功すると下記のような文章が表示されます。
Enter passphrase for key '/.ssh/id_rsa_aaa': パスワード入力
Hi aaa! You've successfully authenticated, but GitHub does not provide shell access.