我的 18.04 ubuntu 服务器上的登录延迟有一小段(4 秒),这让我抓狂不已:
$ time ssh root@gateway exit
real 0m4,066s
user 0m0,015s
sys 0m0,005s
我已经检查了“常见”罪魁祸首:DNS、Avahi、pam_systemd.so,它们不是原因。我还缩短了 /etc/profile、/etc/bash.bashrc、/root/.bashrc,方法是在这些文件的开头添加“exit 0”。这会导致连接速度稍微加快 0m3,915s。所以,它们也不是原因。
演出ssh -vvv
结束后,整个时间就消失了:
...
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting [email protected]
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network
因此,这似乎不是 ssh 本身的问题。我猜,登录时运行的其他脚本正在浪费我的时间,但它们是什么,在哪里触发的?
答案1
感谢 的提示/etc/update-motd.d/
,我已经逐一解决了其中大部分问题。问题解决了。
耻辱堂:
50-landscape-sysinfo -> 2,6sec loss
80-esm -> 0,5sec loss
95-hwe-eol -> 0,5sec loss
答案2
我刚刚遇到了同样的问题,但现有的解决方案并没有解决它。时机甚至更糟:
user@my_machine ~
$ time ssh my_server exit
real 0m25.724s
user 0m0.031s
sys 0m0.062s
user@my_machine ~
$ time ssh my_server exit
real 0m25.444s
user 0m0.000s
sys 0m0.077s
为了调试耗时这么长的原因,我通过-vvv
选项增加了 ssh 详细程度,如下所示
time ssh -vvv my_server exit
...这显然表明该阶段花费了时间pledge: network
,这使我能够搜索该特定问题。
最终有帮助的是
- 设置
UsePAM
为no
/etc/ssh/sshd_config作为在 ServerFault 上建议, - 其次是
sudo service sshd restart
。
根据ubuntuforums 上的这篇文章,使用密钥时禁用 PAM 应该没问题:
如果您使用密钥,则应该禁用密码验证(PAM)。
这将提高安全性。
答案3
我曾经遇到过类似的问题。后来发现是打印机出了故障,导致网络上充斥着作业请求之类的东西。更换打印机后,大部分网络问题就解决了。