Скажите SSH использовать специальный IdentityFile для специального пользователя

Мне нужно сказать SSH использовать специальный IdentityFile для специального пользователя.

Например, спецификации хоста wizard@host1.comwizard@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
Другие вопросы по тегам