〜/ .ssh /ディレクトリに複数のキーがあり、それぞれに複数のサーバーがあるプロジェクト用に、それぞれに個別のプロジェクト名が付いています。 id_rsa_project1、id_rsa_project2
ただし、sshはそれらを検索しません。 ssh -v user@projectserver
を実行すると、次のような出力が得られます。
...
debug1: Connection established.
...
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/me/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/me/.ssh/id_dsa
debug1: Trying private key: /home/me/.ssh/id_ecdsa
debug1: Trying private key: /home/me/.ssh/id_ed25519
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: password
user@projectserver password:
ssh_config
のマンページには、デフォルトで検索されるIDは〜/ .ssh/id_dsa、〜/ .ssh/id_ecdsa)と記載されているため、これは仕様によるもののようです。、〜/ .ssh/id_ed25519および〜/ .ssh/id_rsa。
もちろんできます:
-i ~/.ssh/id_rsa_project1
スイッチを追加するか、または...しかし、これらはすべて、キーとキーファイルを定期的に変更するには面倒すぎるようです。
IdentityFile〜/.ssh/*を/ etc/ssh/ssh_configに追加しようとしましたが、それが必要なようですワイルドカードではなく、リテラル*として。
sshに〜/ .ssh /内のallキーファイルを読み取って試すように指示するにはどうすればよいですか?
最も簡単な方法は、それらをssh-agent
に追加することです。
開始エージェント:
eval `ssh-agent`
~/.ssh
にすべてのキーを追加します。
ssh-add ~/.ssh/id_rsa_*
ただし、接続するすべてのサーバーですべてのキーが試行されるため、これは理想的な方法ではないことに注意してください。 ~/.ssh/config
で適切に構成することをお勧めします。