У меня в каталоге ~/ .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
говорится, что по умолчанию для поиска используются идентификаторы ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 и ~/.ssh/id_rsa.
Конечно, я могу:
- каждый раз добавляйте ключ
-i ~/.ssh/id_rsa_project1
в командную строку или - добавьте IdentityFile ~/.ssh/id_rsa_project1 в спецификацию для сервера в ~/.ssh/config, или
- добавьте IdentityFile ~/.ssh/id_rsa_project1 в /etc/ssh/ssh_config для каждого проекта.
... но все это кажется слишком громоздким для регулярности, с которой мы меняем ключи и файлы ключей.
Я попытался добавить IdentityFile ~/.ssh/* в /etc/ssh/ssh_config, но он воспринимается как литерал *, а не как подстановочный знак.
Как я могу сказать ssh прочитать и попробовать все ключевые файлы в ~/ .ssh/?