Я храню все свои личные ключи в зашифрованном виде в файле encfs. Я монтирую (расшифровываю) файл encfs в папку, добавляю все закрытые ключи в ssh-agent с указанием времени жизни и размонтирую папку. В этом случае мои файлы закрытых ключей хранятся в зашифрованном виде, и я могу получить к ним доступ через ssh-agent.
Мой список ключей стал расти, и я начал получать «Слишком много ошибок аутентификации для% username%». Я искал обходной путь, и общий совет - указывать каждый IdentityFile в ~/.ssh/config.
Host hostalias
Hostname my.host.name
User username
IdentityFile ~/.ssh/unencrypted_key
Но в этом случае мои ключи должны храниться в незашифрованном состоянии все время, так как ssh будет обращаться к ним напрямую (игнорируя ssh-agent).
Есть ли какое-либо возможное решение для указания того, какой закрытый ssh-ключ (от ssh-agent) для какого хоста следует использовать?
PS Каждый ключ имеет свой собственный отпечаток, и я предположил, что это можно решить, указав его в конфигурации (что-то вроде этого):
Host hostalias
Hostname my.host.name
User username
IdentityFingerPrint 0c:d6:e6:64:0f:b5:1f:29:11:51:12:74:90:55:49:ae
Но я не нашел ничего подобного.