Wilcard SSH 구성이 더 이상 일치하지 않습니다.

Wilcard SSH 구성이 더 이상 일치하지 않습니다.

이 SSH 구성이 있습니다.

Host git.domain.net
    Port 22

Host *.domain.net
    Port 2121

Host bastion
    HostName nx4201.domain.net
    User dummy

Host project_production
    HostName nx4242.domain.net
    User project

저는 Ubuntu 15.10을 사용하고 있으며 ssh project_production포트 2121을 사용하여 nx4242.domain.net에 연결하고 있습니다.

이제 Ubuntu 16.04를 새로 설치하고 동일한 구성 파일을 다시 가져왔습니다(개인 Git 저장소에서 버전 제어를 받고 있었습니다).

더 이상 작동하지 않습니다.

$ ssh -vvv project_production 
OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g  1 Mar 2016
debug1: Reading configuration data /home/sullivan/.ssh/config
debug1: /home/sullivan/.ssh/config line 12: Applying options for project_production
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "nx4242.domain.net" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to nx4242.domain.net [178.170.104.70] port 22.

보시다시피 이제 ssh는 포트에 연결을 시도 하지만 규칙은 22신경 쓰지 않습니다 .*.domain.net

각 호스트에 포트를 지정할 수 있다는 것을 알고 있지만 호스트가 많습니다.

지금은 작동하지 않지만 이전 시스템에서는 왜 작동하지 않습니까? 어떻게 고치나요?

참고로 시스템 SSH 구성 파일은 다음과 같습니다.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   IdentityFile ~/.ssh/id_ecdsa
#   IdentityFile ~/.ssh/id_ed25519
#   Port 22
#   Protocol 2
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no

SSH 버전:

$ ssh -V
OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g  1 Mar 2016

답변1

나는 마침내 여기서 답을 찾았습니다.https://superuser.com/a/1024928/650657

간단히 말해서 다음 줄을 추가해야 합니다.

CanonicalizeHostname yes
Host *.mydomain.com
    User myusername

Host host1
    HostName host1.mydomain.com

이런 방식으로 구성 파일이 다시 구문 분석됩니다.

CanonicalizeHostname이상한 점은 이전에는 이 옵션을 사용할 필요가 없었다는 것입니다...

관련 정보