Warum kann SSH %h nicht aus .ssh/config erweitern? Das hat früher funktioniert und funktioniert immer noch, außer auf einer RHEL-Box. Suche nach der Ursache dafür. Gibt es irgendwo eine Einstellung, die SSH anweist, %h nicht zu erweitern?
Ich habe so etwas in meiner .ssh/config:
Host *.foo
HostName %h.mydomain.com
Auf der RHEL-Box, auf der dies nicht funktioniert, erhalte ich Folgendes:
$ 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
Antwort1
Sie verwenden OpenSSH 5.3; %h
war nureingeführt in OpenSSH5.6:
Änderungen seit OpenSSH 5.5 ========================= * Erweitern Sie %h zum Hostnamen in den ssh_config-Hostnamenoptionen. Während dies klingt nutzlos, ist aber eigentlich praktisch für die Arbeit mit unqualifizierten Hostnamen: Gastgeber *.* Hostname %h Gastgeber * Hostname %h.example.org
Antwort2
man ssh_config
erwähnt nicht, dass %h
in der Klausel erweitert wird HostName
. Ich verwendeopenssh5.9p1
bearbeiten:das hat es und ich habe es verpasst
Wenn es Ihnen nichts ausmacht, einen Proxyserver einzurichten (ein lokaler reicht aus), ProxyCommand
ist möglicherweise ein Workaround möglich.
Oder Sie können einige Hostnamen in auflisten .ssh/config
.