Почему ssh не может раскрыть переменную %h в .ssh/config?

Почему ssh не может раскрыть переменную %h в .ssh/config?

Почему ssh не может расширить %h из .ssh/config? Это работало и работает до сих пор, за исключением RHEL-бокса. Ищем, в чем может быть причина. Есть ли где-то настройка, которая говорит ssh не расширять %h?

У меня в .ssh/config есть что-то вроде этого:

Host *.foo
  HostName %h.mydomain.com

На RHEL-компьютере, где это не работает, я получаю следующее:

$ ssh -vvvv bar.foo
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /home/zsimic/.ssh/config
debug1: Applying options for *.foo
debug1: Applying options for *.foo
debug1: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
ssh: Could not resolve hostname %h.mydomain.com: Name or service not known

решение1

Вы используете OpenSSH 5.3; %hбыл тольковведено в OpenSSH5.6:

Изменения по сравнению с OpenSSH 5.5
=========================

 * Расширьте %h до имени хоста в параметрах имени хоста ssh_config. В то время как это
   звучит бесполезно, на самом деле это удобно для работы с неквалифицированными
   имена хостов:

     Хозяин *.*
        Имя хоста %h
     Хозяин *
        Имя хоста %h.example.org

решение2

man ssh_configне упоминает, что %hбудет расширено в HostNameпункте. Я используюopenssh5.9p1

редактировать:это было и я пропустил это

Если настройка прокси-сервера (подойдет и локальный) вас не смущает, возможно, ProxyCommandможно найти обходной путь.

Или вы можете перечислить несколько имен хостов в .ssh/config.

Связанный контент