为什么ssh的“密码”提示需要这么长时间才出现?

Neu*_*ino 98 ssh

当我尝试时ssh,密码提示需要很长时间(几乎两分钟)才会出现。

为什么会发生这种情况?

Gil*_*il' 149

有几件事可能会出错。添加-vvv使 ssh 打印其正在执行的操作的详细跟踪,并查看其暂停的位置。

问题可能出在客户端或服务器上。

服务器上的一个常见问题是,如果您从反向 DNS 查找超时的客户端进行连接。(“反向 DNS 查找”意味着从客户端机器的 IP 地址返回到主机名。它对安全性没有真正的帮助,只是对从日志条目中诊断入侵尝试略有帮助,但无论如何默认配置都会这样做。)要关闭反向 DNS 查找,请添加UseDNS no/etc/ssh/sshd_config(您需要在服务器上是 root;之后记得重新启动 SSH 服务)。

另一件可能出错的事情是GSSAPI身份验证超时。如果你不知道那是什么,你可能不会依赖它;您可以通过将行添加GSSAPIAuthentication no/etc/ssh/ssh_configor ~/.ssh/config(在客户端)来关闭它。

  • 反向 DNS 查找是我的问题 (15认同)
  • 对我来说,这是 GSSAPIAuthentication 问题。谢谢你。 (8认同)
  • @AlexanderMalakhov 如果您依靠它来登录,那么如果您禁用它,您就会将自己锁在外面。除此之外,没有。如果您使用 GSSAPI,您就会知道——您必须在您的网络上配置一些基于 GSSAPI 的服务。 (3认同)
  • 反向 DNS 对我来说也是罪魁祸首,“UseDNS no”就像一个魅力一样修复了它。我在没有 DNS 服务器的内部网络上处理内部 IP 的反向查找。 (2认同)

小智 16

让登录过程计时,看看需要多长时间:

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.

real    0m45.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
Run Code Online (Sandbox Code Playgroud)

见上图 登录大约需要 45 秒 -------- 非常慢

以 root 身份登录后,编辑 sshd_config 文件并更改 UseDNS 条目,如下所示。这里我使用 sed 而不是编辑文件。

[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes

[root@ISSLABNTL01 ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no

[root@ISSLABNTL01 ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@ISSLABNTL01 ~]# exit
Run Code Online (Sandbox Code Playgroud)

让我们为登录过程计时,看看需要多长时间。

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout

Connection to ISSLABNTL01 closed.

real    0m6.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
Run Code Online (Sandbox Code Playgroud)

看到现在花了 6 秒,我输入密码的时间。