无法使用主机名进行 SSH,但可以使用 IP

无法使用主机名进行 SSH,但可以使用 IP

在 VPN 内部,有一个 DNS 服务器,其已知区域为“gitlab”。当尝试对该主机名执行除 SSH 之外的任何操作(以及使用 SSH 的操作 - scp、git)时,它可以正常工作,但使用 SSH 会拒绝连接。

这是一个终端会话,应该可以很好地展示该问题:

$ nslookup gitlab
Server:     172.31.27.193
Address:    172.31.27.193#53

Name:   gitlab
Address: 172.31.25.132

$ ssh git@gitlab
Permission denied (publickey).
$ ssh [email protected]
PTY allocation request failed on channel 0
Welcome to GitLab, Benjamin Hutchins!
Connection to 172.31.25.132 closed.
$ ping -c 1 gitlab
PING gitlab (172.31.25.132) 56(84) bytes of data.
64 bytes from 172.31.25.132: icmp_seq=1 ttl=64 time=0.530 ms

--- gitlab ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.530/0.530/0.530/0.000 ms
$ ping -c 1 172.31.25.132
PING 172.31.25.132 (172.31.25.132) 56(84) bytes of data.
64 bytes from 172.31.25.132: icmp_seq=1 ttl=64 time=0.570 ms

--- 172.31.25.132 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.570/0.570/0.570/0.000 ms
$ ssh -vvv git@gitlab
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to gitlab [::1] port 22.
debug1: Connection established.
debug1: identity file /home/bhutchins/.ssh/id_rsa type -1
debug1: identity file /home/bhutchins/.ssh/id_rsa-cert type -1
debug1: identity file /home/bhutchins/.ssh/id_dsa type -1
debug1: identity file /home/bhutchins/.ssh/id_dsa-cert type -1
debug1: identity file /home/bhutchins/.ssh/id_ecdsa type -1
debug1: identity file /home/bhutchins/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/bhutchins/.ssh/id_ed25519 type -1
debug1: identity file /home/bhutchins/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug3: load_hostkeys: loading entries for host "gitlab" from file "/home/bhutchins/.ssh/known_hosts"
debug3: load_hostkeys: found key type ECDSA in file /home/bhutchins/.ssh/known_hosts:3
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,[email protected],[email protected],[email protected],[email protected],[email protected],ssh-ed25519,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit: none,[email protected],zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: setup [email protected]
debug1: kex: server->client aes128-ctr [email protected] none
debug2: mac_setup: setup [email protected]
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 45:e9:a6:c4:f4:8d:14:06:4a:ea:de:68:04:69:c2:f4
debug3: load_hostkeys: loading entries for host "gitlab" from file "/home/bhutchins/.ssh/known_hosts"
debug3: load_hostkeys: found key type ECDSA in file /home/bhutchins/.ssh/known_hosts:3
debug3: load_hostkeys: loaded 1 keys
debug1: Host 'gitlab' is known and matches the ECDSA host key.
debug1: Found key in /home/bhutchins/.ssh/known_hosts:3
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /Users/bhutchins/.ssh/id_rsa (0x7fccfbc60360),
debug2: key: /home/bhutchins/.ssh/id_rsa ((nil)),
debug2: key: /home/bhutchins/.ssh/id_dsa ((nil)),
debug2: key: /home/bhutchins/.ssh/id_ecdsa ((nil)),
debug2: key: /home/bhutchins/.ssh/id_ed25519 ((nil)),
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/bhutchins/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/bhutchins/.ssh/id_rsa
debug3: no such identity: /home/bhutchins/.ssh/id_rsa: No such file or directory
debug1: Trying private key: /home/bhutchins/.ssh/id_dsa
debug3: no such identity: /home/bhutchins/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/bhutchins/.ssh/id_ecdsa
debug3: no such identity: /home/bhutchins/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/bhutchins/.ssh/id_ed25519
debug3: no such identity: /home/bhutchins/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

我似乎找不到任何人报告类似问题。我运行此终端会话的服务器是 AWS 上的全新 Ubuntu 14.04。它尝试通过主机名与之通信的服务器与gitlab此服务器位于同一 VPC 上。有什么想法可能导致此事故吗?

答案1

@Jakuje 和 @Halfgaar 帮助指出了这个问题。这是由于ssh使用 IPv6 造成的,而内部私有 DNS 服务器对每条记录AAAA的 IPv6 记录配置错误。::1

修复绑定区域文件后,一切开始正常运转。

相关内容