Проблема: у мене є 20-30 ssh-agent
осіб. Більшість серверів відмовляються від автентифікації Too many failed authentications
, оскільки SSH зазвичай не дає мені спробувати 20 різних клавіш для входу.
На даний момент я вказую файл ідентичності для кожного хоста вручну, використовуючи IdentityFile
і IdentitiesOnly
директиву, так що SSH спробує лише один ключ-ключ, який працює.
На жаль, це припиняє роботу, як тільки оригінальні клавіші більше не доступні. ssh-add -l
показує мені правильні шляхи для кожного ключового файлу, і вони співпадають із шляхами .ssh/config
, але це не працює. Мабуть, SSH вибирає відступ за підписом відкритого ключа, а не за назвою файлу, а це означає, що оригінальні файли повинні бути доступними, щоб SSH могла витягти відкритий ключ.
З цим є дві проблеми:
- він припиняє роботу, як тільки я відключаю флешку, утримуючи клавіші
- це робить переадресацію агента марною, оскільки файли ключів недоступні на віддаленому хості
Звичайно, я міг витягти відкриті ключі з моїх файлів посвідчень і зберігати їх на своєму комп’ютері, а також на кожному віддаленому комп’ютері, як правило, входжу. Однак це не виглядає бажаним рішенням.
Що мені потрібно - це можливість вибрати особу від ssh-агента за назвою файлу, щоб я міг легко вибрати потрібну клавішу за допомогою .ssh/config
або передачі -i /path/to/original/key
навіть на віддаленому хості, в який я входив SSH. Було б навіть краще, якби я міг «прозвати» ключі, щоб мені навіть не довелося вказувати повний шлях.
authorized_keys
файл, який, залежно від використовуваного ключа, виконує різні команди, не допускаючи ніколи прямого доступу до оболонки.