Githubのキーと他のキーがあるとしましょう。ssh-add -L
自宅のコンピューターAでsshエージェントに多数のキーを追加しました(たくさんの行を返します)A.で、.ssh/config
どのホストでどのキーを使用するかを設定しました。
ssh -T -vvv git@github.com 2>&1 | grep Offering
与える
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
予想どおり、1つのキーのみが提供されます。しかし、その後、いくつかのホストBにssh-ingしForwardAgent yes
て同じコマンドを繰り返して、私は
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
つまり、すべてのキーを試します。サーバーが戻る前に限られた数のキーしか試すことができないので、これは問題Too many authentication failures
です。そこで.ssh/config
、ホストBで編集して、
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
しかし、私はキーの提供を取得しませんが、むしろ
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
これは、キーが見つからなかったことを意味します(?)そして、結局のところ、キーはホストBではなく自宅のコンピュータAにあるので、ホストBでそれを参照する方法は問題ですか?質問を説明できたと思います。