我有一个运行OpenSSH的服务器。 当我从本地networkinglogin时(有几个networking接口,所有这些都是真实的),那么login是相对较快的 – 通常是几秒钟。
我也有一个使用OpenVPN进入服务器的本地networking的桥接VPN,当我尝试通过VPN访问服务器时,login有40秒的延迟–40秒的数字是相当准确的,同样的延迟。
查看sshddebugging日志,我看到一个正常的login进程有这些行:
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秒的差距 – 每当我尝试通过VPNlogin到局域网上的任何服务器,但从来没有从本地networking或公共networkinglogin, m使用相同的SSH密钥。
服务器是CentOS 5和6,客户端是Fedora上的OpenSSH,MS-Windows上的Ubuntu和Putty。
任何提示将不胜感激。
我终于find了问题 – 这是GSSAPIAuthentication。
我已经设定了
GSSAPIAuthentication no
在/etc/ssh/sshd_config ,现在它工作正常。 我不确定什么是GSSAPIAuthentication (与Kerberos有关),但是因为我没有使用,所以我不太在乎,显然当OpenSSH尝试执行GSS身份validation并在40秒后超时时,或者一些这样的。
这可能是试图对您的IP地址进行反向DNS查询,并最终超时失败。
确保由VPN分配给你的IP地址的反向DNS正在工作 – 它不一定要拿出一个答案,但你要确保它至less可以提供一个“找不到”的答案,而不是比不得不超时。
我同意汤姆,反向查找应该是第一个看的地方。 您可以快速禁用反向查找:
nano /etc/ssh/sshd_config
UseDNS可能有一个#之前,如果这样删除#并将其设置为:
UseDNS No
保存configuration文件并重新启动ssh服务。