Debian 启动时不会启动 SSH

Debian 启动时不会启动 SSH

今天我的虚拟机网络接口出了点问题,所以不得不对我的接口文件进行一些修改。自从我这样做之后,当我启动 Debian 8.6 VM 时,我收到了 OpenBSD Secure Shell 服务器启动失败的错误。

[FAILED] Failed to start OpenBSD Secure Shell server.
See `systemctl status ssh.service` for details.

运行 sudo systemctl status ssh.service 会给出以下状态输出:

ssh.service - Open BSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
Active: failed (Result: start-limit) since Sat 2016-09-17 23:53:44 BST; 4min 37s ago
Process: 824 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255)
Main PID: 824 (code=exited, status=255)

ssh.service: main process exited, code=exited, status=255/n/a
Unit ssh.service entered failed state
ssh.service start request repeated too quickly, refusing to start.
Failed to start OpenBSD Secure Shell server.
Unit ssh.service entered failed state.

谁知道这可能是什么原因造成的?

尽管我没有发现任何问题,但我的网络/接口文件是:

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
    address 192.168.1.200
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255

答案1

SSHD 拒绝(重新)启动的常见原因是配置错误。检查:

$ /usr/sbin/sshd -T

答案2

sshdOpenSSH 服务器停留在“正在激活”状态还有另一个原因。

也就是说,原因可能是“熵耗尽”,从而阻止相关的 OpenSSL 模块初始化。

要验证“熵耗尽”是否确实是问题所在,请首先通过发出以下命令停止 OpenSSH 服务,使其不再停留在“激活”状态:

systemctl stop ssh

...停止后sshd,尝试通过停止所有其他文件和网络操作等来最小化所有 I/O 活动,然后发出以下命令sshd重新启动:

/usr/sbin/sshd -ddd

...并观察以下消息的调试输出:
顺便说一句:该-ddd选项在 OpenSSH 服务启动期间启用详细的调试输出。

随机:由于速率限制而错过 N 个随机警告

如果在发出命令后出现此消息/usr/sbin/sshd -ddd,则意味着 OpenSSH 服务的 SSL 模块无法初始化,因为熵池已耗尽。

要解决此问题,请发出以下命令:

apt-get install haveged

..这将安装更快的熵源。您可以阅读更多关于haveged 这里

这使其成为永久性的修复。

相关内容