为什么通过 ssh 输入密码要花这么长时间?

为什么通过 ssh 输入密码要花这么长时间?

当我通过 ssh 进入服务器时,每次输入密码后,服务器都会等待 40 秒才能响应。

登录时以及每次通过 运行命令时都会发生这种情况。但是,当我运行并输入密码sudo时不会发生延迟。su

在此期间,使用-v标志ssh不会显示任何内容。查看 Wireshark,发生这种情况时,两台机器之间的所有流量都会停止。

知道发生了什么事吗?或者有什么关于如何调查此事的建议吗?

该服务器正在运行 Debian squeeze(6.0.4)

编辑:/etc/nsswitch.conf 的内容

passwd:        compat
group:         compat
shadow:        compat

hosts:         files dns
networks:      files

protocols:     db files
services:      db files
ethers:        db files
rpc:           db files

netgroup:      nis

编辑2:结果mount

/dev/simfs on / type simfs (rw,relatime,usrquota,grpquota)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime)

答案1

可能存在与 nsswitch.conf、密码验证引擎等无关的解释。

如果“su - ”很慢,但“su”不慢,或者“sudo”正在加载某些内容(例如.bashrc),那么它可以可能是您的配置文件/rc 环境中存在导致速度变慢的因素。我曾在您连接的系统上看到过这种行为,出于某种原因,您的配置文件或登录/ssh 守护程序感觉到需要进行某种 DNS 查找(例如反向查找源 IP),然后它就在那里停滞了 40 秒。

只是一个想法。

相关内容