如何调试 sshd 需要几分钟才能启动?

如何调试 sshd 需要几分钟才能启动?

我使用具有 ssh 和 X 转发功能的虚拟机来运行某些应用程序。启动 VirtualBox VM 时,即使计算机立即处于桌面环境的登录提示符下,ssh 也需要几分钟才能上线。 sshd 启动时,机器不会使用大量资源(CPU、网络)。

可能需要了解该问题的其他事项:

  • 主机是运行的 Debian Buster(测试)系统OpenSSH_7.9p1 Debian-1, OpenSSL 1.1.1 11 Sep 2018
  • 当我登录桌面环境时,也需要一点时间,但通常不会几分钟。它立即接受我的登录(或告诉我我打字错误)并切换到空白屏幕,但需要一段时间才能显示实际桌面。
  • 一旦显示桌面并且我可以开始调试问题,问题就消失了:加载桌面环境后 sshd 总是可以工作。他们似乎都在同一件事上受阻。
  • 当 sshd 尚未启动时,系统响应“连接被拒绝”,即它可以到达主机和端口,但 sshd 似乎没有绑定到它。
  • 我还可以在启动屏幕变为桌面环境的登录提示时立即 ping 主机。系统似乎已完全准备就绪,但 sshd 未启动(或绑定到接口)。

切换到虚拟终端不起作用,因为它切换到我的主机系统的虚拟终端,即使设置要捕获键盘也是如此。我可以阻止桌面环境启动并立即获取终端,但我只有很短的时间(我想说 2-3 分钟),所以我必须在每隔几个命令后重新启动或知道按顺序查看哪里弄明白。

如何有效地调试这个问题?有没有我可以检查的可能原因?

答案1

最有可能的是缺乏熵。在评论中,您已经确认在盒子上进行一些活动可以使sshd启动更快 - 这是因为您的活动对熵源有贡献。

安装(并确保它启动)haveged(或者,在旧版本中,rngd)。

相关内容