Скажите SSH использовать специальный IdentityFile для специального пользователя
Мне нужно сказать SSH использовать специальный IdentityFile для специального пользователя.
Например, спецификации хоста wizard@host1.com
wizard@any-other-host.org
следует использовать ключ ~/.ssh/id_wizard
Я хотел бы написать
User wizard
IdentityFile ~/.ssh/id_wizard
но нет такой опции в man ssh_config
,
1 ответ
Вы должны быть в состоянии использовать директивуMatch. Соответствие является более обобщенной формой директивы Host:
Матч
Ограничивает использование следующих объявлений (вплоть до следующего ключевого слова Host или Match), только когда выполняются условия, следующие за ключевым словом Match. Условия совпадения определяются с использованием одного или нескольких критериев или одного токена, который всегда совпадает. Доступны следующие ключевые слова: canonical, exec, host, originalhost, user и localuser. Все критерии должны быть указаны отдельно или сразу после канонического. Другие критерии могут комбинироваться произвольно. Все критерии, кроме всех и канонические, требуют аргументации. Критерии могут быть отменены путем добавления восклицательного знака ('!').
...
Критерии других ключевых слов должны быть отдельными записями или разделенными запятыми списками и могут использовать подстановочные знаки и операторы отрицания, описанные в разделе ШАБЛОНЫ.... Ключевое слово пользователя соответствует целевому имени пользователя на удаленном хосте.
Так:
Match user wizard
IdentityFile ~/.ssh/id_wizard