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

Luc*_*Luc 2 networking boot openssh virtualbox sshd

我使用带有 ssh 和 X 转发的 VM 来运行某些应用程序。启动 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 分钟)所以我必须在每几个命令后重新启动或知道在哪里查看顺序弄明白。

我怎样才能有效地调试这个问题?是否有我可以检查的可能原因?

Ric*_*hlv 5

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

安装(并确保它已启动)haveged(或者,在较旧的发行版中,rngd)。