我有一个运行OpenSSH的服务器。当我从本地网络登录时(有几个网络接口,所有这些接口都是正确的),那么登录速度相对较快-通常只有几秒钟。
我还使用OpenVPN将一个桥接VPN运行到服务器所在的本地网络,当我试图通过VPN访问服务器时,登录延迟了40秒--40秒的时间非常准确,并且总是延迟相同的时间。
在sshd调试日志中,我看到一个普通的登录进程有以下几行:
Oct 18 10:05:07 server sshd[7745]: debug1: KEX done
Oct 18 10:05:07 server sshd[7745]: debug1: userauth-request for user root service ssh-connection method none
Oct 18 10:05:07 server sshd[7745]: debug1: attempt 0 failures 0
Oct 18 10:05:07 server sshd[7744]: debug1: PAM: initializing for "root"
Oct 18 10:05:07 server sshd[7744]: debug1: PAM: setting PAM_RHOST to "192.168.xx.xx"
Oct 18 10:05:07 server sshd[7744]: debug1: PAM: setting PAM_TTY to "ssh"
Oct 18 10:05:10 server sshd[7745]: debug1: userauth-request for user root service ssh-connection method publickey
Oct 18 10:05:10 server sshd[7745]: debug1: attempt 1 failures 1
Oct 18 10:05:10 server sshd[7744]: debug1: temporarily_use_uid: 0/0 (e=0/0)
Oct 18 10:05:10 server sshd[7744]: debug1: trying public key file /root/.ssh/authorized_keys
Oct 18 10:05:10 server sshd[7744]: debug1: matching key found: file /root/.ssh/authorized_keys, line 13
当通过VPN进行连接时,类似的行如下所示(注意时间戳):
Oct 18 10:01:14 server sshd[31438]: debug1: KEX done
Oct 18 10:01:14 server sshd[31438]: debug1: userauth-request for user root service ssh-connection method none
Oct 18 10:01:14 server sshd[31438]: debug1: attempt 0 failures 0
Oct 18 10:01:14 server sshd[31437]: debug1: PAM: initializing for "root"
Oct 18 10:01:14 server sshd[31437]: debug1: PAM: setting PAM_RHOST to "192.168.xx.xx"
Oct 18 10:01:14 server sshd[31437]: debug1: PAM: setting PAM_TTY to "ssh"
Oct 18 10:01:54 server sshd[31438]: debug1: userauth-request for user root service ssh-connection method publickey
Oct 18 10:01:54 server sshd[31438]: debug1: attempt 1 failures 1
Oct 18 10:01:54 server sshd[31438]: debug1: test whether pkalg/pkblob are acceptable
Oct 18 10:01:54 server sshd[31437]: debug1: temporarily_use_uid: 0/0 (e=0/0)
Oct 18 10:01:54 server sshd[31437]: debug1: trying public key file /root/.ssh/authorized_keys
Oct 18 10:01:54 server sshd[31437]: debug1: matching key found: file /root/.ssh/authorized_keys, line 13
正如您所看到的,第二个日志在中间有40秒的间隔--每当我尝试通过VPN登录到LAN上的任何服务器时,都会发生这种情况,但从没有从本地网络或公共网络登录,而且我使用相同的SSH密钥。
服务器是CentOS 5和6,客户端是Fedora上的OpenSSH,上的Ubuntu和Putty。
如有任何提示将不胜感激。
发布于 2011-10-20 13:46:38
我终于发现了这个问题--是GSSAPIAuthentication。
我设置了
GSSAPIAuthentication no
在/etc/ssh/sshd_config
中,现在它工作得很好。我不知道GSSAPIAuthentication
做了什么(与Kerberos有关),但是由于我没有使用它,所以我不太关心它,而且很明显,当它在OpenSSH上时,尝试在40秒后进行GSS身份验证和超时--或者其他类似的事情。
发布于 2011-10-18 11:41:24
它可能试图对您的IP地址执行反向DNS查找,并在最终超时时失败。
确保由VPN分配给您的IP地址的反向DNS是有效的-它不一定要想出一个答案,但你想确保它至少可以给出一个“找不到”的答案,而不是必须超时。
发布于 2011-10-18 12:24:50
我同意TomH的观点,反向查找应该是第一个查找的地方。您可以快速禁用反向查找:
nano /etc/ssh/sshd_config
UseDNS可能在它之前有一个#,如果是这样的话,移除该#并将其设置为:
UseDNS No
保存配置文件并重新启动ssh服务。
https://serverfault.com/questions/322495
复制相似问题