結論
SSH鍵ペア作成時に自分で名前をつけた場合は、
eval `ssh-agent -s`
ssh-add ./.ssh/秘密鍵ファイル名
を実行しておく必要がある。
※Git for Windows ならば GitBash から実行
なお、ssh-agent -s
は環境変数のセットなどのスクリプトを標準出力するコマンドなので、evalをつけて実行しなければ、ただ画面に表示されるだけとなる。
-s Generate Bourne shell commands on stdout.
man ssh-agent 実行結果
経緯
GitHubにSSH接続するためにまずSSHの鍵ペアを作成した。
そして、公開鍵をGitHubに登録後に
ssh -T git@github.com
を実行すると、
git@github.com: Permission denied (publickey).
と表示され接続できなかった。
GitHubのドキュメントを確認すると、次のように記載されていた。
ほとんどのシステムでは、既定の秘密キー (~/.ssh/id_rsa および ~/.ssh/identity) が SSH 認証エージェントに自動的に追加されます。 キーを生成するときにファイル名をオーバーライドしない限り、ssh-add path/to/key を実行する必要はありません。
https://docs.github.com/ja/authentication/troubleshooting-ssh/error-permission-denied-publickey
太字装飾は筆者
つまり、キーを生成したときに自分で名前をつけた場合はssh-addする必要があることが分かった。
コメント