it-swarm-ja.com

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
5
Zoran

OpenSSH5.3を使用しています。 %hOpenSSH5.6 で導入されました:

 OpenSSH 5.5 
 ========================= 
 
 *以降の変更点ssh_configホスト名オプションで%hをホスト名に展開します。この
は役に立たないように聞こえますが、実際には、修飾されていない
ホスト名を操作するのに便利です:
 
ホスト*。* 
ホスト名%h 
ホスト* 
ホスト名%h.example.org 
13
user1686

man ssh_configは、%hHostName句で展開されることについては言及していません。 openssh5.9p1を使用しています

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

プロキシサーバーを設定しても(ローカルのみで十分です)、気にならない場合は、ProxyCommandを使用した回避策が考えられます。

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

2
Jokester