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을 사용하고 있습니다.%h 뿐이었다OpenSSH에 도입됨5.6:

OpenSSH 5.5 이후 변경 사항
=========================

 * ssh_config 호스트 이름 옵션에서 호스트 이름으로 %h를 확장합니다. 이 동안
   쓸모없게 들리지만 실제로는 자격이 없는 사람들과 작업하는 데 편리합니다.
   호스트 이름:

     주인 *.*
        호스트 이름 %h
     주인 *
        호스트 이름 %h.example.org

답변2

man ssh_config조항 %h에서 확장될 것이라는 언급은 없습니다 . HostName나는 사용하고있다openssh5.9p1

편집하다:그랬고 나는 그것을 놓쳤다

일부 프록시 서버(로컬 전용 서버)를 설정해도 문제가 되지 않는다면 몇 가지 해결 방법이 ProxyCommand가능할 수도 있습니다.

또는 에서 몇 가지 호스트 이름을 열거할 수 있습니다 .ssh/config.

관련 정보