我的 VPS 大约 3 个月没有重新启动。它托管在 OpenVZ 虚拟化类型的服务器上,操作系统为 Ubuntu 16.04。出于某种原因,我重新启动了 VPS,之后,我无法通过 ssh 连接到服务器,我收到的消息是:
ssh: connect to host srvname.com port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)
所以我在 VPS 上打开了一个串行控制台并开始调查......我已经清除并重新安装了但openssh-server没有成功。我花了两个小时阅读有关 Internet 上类似问题的文章、问题和答案。
最后我设法理解该目录/var/run/sshd不是在系统启动期间创建的。一旦我手动创建它,我就可以毫无问题地启动 SSH 服务,但是在下次重新启动时问题仍然存在。所以我的问题是:
这个问题的原因可能是什么?为什么/var/run/sshd在系统启动时没有创建?
我怎样才能以正确的方式解决问题?我找到了本文末尾提到的临时解决方案。
问题是否可能与 VPS 的 OpenVZ 主机有关?我应该要求托管服务提供商解决吗?
的输出systemctl status ssh.service,sshd -Ddp 22并且journalctl -xe是:
ssh: connect to host srvname.com port 22: Connection refused
Run Code Online (Sandbox Code Playgroud)
的内容/usr/lib/tmpfiles.d/sshd.conf和/etc/init/ssh.conf为:
# systemctl status ssh.service
? ssh.service - OpenBSD …Run Code Online (Sandbox Code Playgroud)