経緯
以下の記事を参考にWSLでSSH接続してて、最初は「ssh -T git@github.com」で接続成功してたんだけど、その後再度同じコマンドを打つと「Permission denied (publickey)」って出た😱(さっきまで接続できてたやん!)
原因
- SSHエージェントはターミナルセッション毎に独立してるっぽい?
「ssh-add -l」でSSHエージェントに登録されている秘密鍵が確認できるみたいなんだけど、試しにターミナルAで鍵を登録して、ターミナルBでコマンドを打つとそもそもSSHエージェントが起動してないみたいなエラーが出る。その後ターミナルBで「eval "$(ssh-agent -s)"」コマンドを打ってSSHエージェントを起動して、登録されている鍵を確認しても鍵がありませんッッッッ!って言われる。(ターミナルAだと登録してる鍵が表示される)
解決
- ホームのSSHフォルダにconfigファイルを作成して、以下の内容を記述したらいけた!(~/.ssh/config)
- ※ SSHエージェントが自動で鍵を追加してくれる設定みたい
Host github.com
# 作成した秘密鍵のパス
IdentityFile ~/.ssh/秘密鍵名
AddKeysToAgent yes
# 必要な場合
User ユーザー名