SSH с бастионным хостом и разными именами пользователей

Я хочу войти в сервер linux, используя два последовательных хоста bastion. Мой файл .ssh/config выглядит примерно так:

 Host * User username0 Host hostname0 Hostname foo Host hostname1 Hostname bar Port 0 ProxyCommand ssh -W %h:%p hostname0 Host hostname2 User username2 Hostname bat Port 1 ProxyCommand ssh -W %h:%p hostname1 

Мое имя пользователя на hostname0 и hostname1username0 но мое имя пользователя на hostname2username2 .

Записи для hostname0 и hostname1 работают должным образом. Но запись для hostname2 игнорирует параметр « User .

ssh hostname2 вызывает это отображение:

 username0@hostname2's password: 

Если я изменил ProxyCommand на hostname2 на ssh -l username2 -W %h:%p hostname1 то он запрашивает у меня пароль для username2 @ hostname1. username2@hostname1's password который имеет смысл, поскольку я прошу его войти в hostname1 как username2 , но он, очевидно, не работает, так как мое имя пользователя фактически является username0 .

Как настроить ssh для использования правильного имени пользователя в каждой ситуации?

  • Multihop с sshpass
  • Исправьте настройки файла ssh для туннеля на третий компьютер
  • Конфигурация ssh от Ubuntu 12.04 не работает 14.04.4
  • Почему ssh-copy-id требует подробного LogLevel для работы в этом случае?
  • Удаленная команда в файле конфигурации ssh
  • Синтаксическая ошибка с переменной, содержащей кавычки
  • Какая правильная форма ключевого слова SSH HostnameSuffixes?
  • ssh изменить пользователя для одного хоста
  • One Solution collect form web for “SSH с бастионным хостом и разными именами пользователей”

    Используйте другой порядок блоков Host . Host * соответствует всем, и ssh_config не перезаписывает уже сохраненные записи:

     Host hostname0 Hostname foo Host hostname1 Hostname bar Port 0 ProxyCommand ssh -W %h:%p hostname0 Host hostname2 User username2 Hostname bat Port 1 ProxyCommand ssh -W %h:%p hostname1 Host * User username0 

    Перемещение Host * до конца заставит его снова работать для вас.

    Linux и Unix - лучшая ОС в мире.