当我通过 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 秒。
只是一个想法。