ssh が .ssh/config 内の %h 変数を展開できないのはなぜですか?

ssh が .ssh/config 内の %h 変数を展開できないのはなぜですか?

ssh が .ssh/config から %h を展開できないのはなぜでしょうか? これは以前は機能していましたが、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を使用しています%hOpenSSHで導入5.6:

OpenSSH 5.5 以降の変更点
=========================

 * ssh_configのホスト名オプションで%hをホスト名に展開します。
   役に立たないように聞こえるが、実際には資格のない人と仕事をするのに便利である
   ホスト名:

     ホスト *。*
        ホスト名 %h
     ホスト *
        ホスト名 %h.example.org

答え2

man ssh_config%h節で拡張されることは言及されていませんHostName。私はopenssh5.9p1

編集:それは起こりました、そして私はそれを逃しました

プロキシ サーバー (ローカルのみのサーバーで十分) を設定することに問題がない場合は、回避策がいくつかあるProxyCommand可能性があります。

または、 でいくつかのホスト名を列挙することもできます.ssh/config

関連情報