sshd已经在运行了,但是一直在试图启动

我有一个Centos 7服务器和sshd正在运行,并接受连接就好了。

问题是, messages日志不断报告失败的sshd启动尝试和secure日志不断报告,因为端口22正在使用sshd无法启动。

消息;

Mar 15 12:03:01 ded2100 systemd [1]:启动用户root的会话10614。
3月15日12:03:05 ded2100 systemd [1]:sshd.service启动操作超时。 终止。
Mar 15 12:03:05 ded2100 systemd [1]:无法启动OpenSSH服务器守护进程。
Mar 15 12:03:05 ded2100 systemd [1]:单元sshd.service进入失败状态。
Mar 15 12:03:05 ded2100 systemd [1]:sshd.service失败。

安全;

Mar 15 12:01:34 ded2100 sshd [14947]:error:绑定到端口22上的0.0.0.0失败:地址已经在使用中。
3月15日12时01分34秒ded2100 sshd [14947]:错误:绑定到端口22上::失败:地址已被使用。

今天我的服务器失败了 SSH也一样,需要一个硬重启,我想确保sshd是可靠的,所以我可以放心,如果它可以起来,它会起来。

谢谢。

编辑
我的sshd_config在这里 – https://gist.github.com/cbiggins/3cb4fcc1af25da63e89b1fab2eb7d57c

编辑#2

 [root@ded2100 log]# ss -p -o state listening '( sport = :ssh )' Netid Recv-Q Send-Q Local Address:Port Peer Address:Port tcp 0 128 *:ssh *:* users:(("sshd",pid=1956,fd=3)) tcp 0 128 :::ssh :::* users:(("sshd",pid=1956,fd=4)) 

这是已知的bug , systemd无法跟踪RHEL7.3 / CentOS7.3的正在运行的服务。

尤其是,这是Type=forking的服务问题。 Systemd启动服务,检查PID文件(在某些情况下还未写入),并将服务视为失败。 然后尝试再次启动服务,这显然失败了。

更新正在进行中。 要一次性解决这个问题,只需要杀死正在运行的sshd (在你的情况下是1956 ),然后用systemctl start sshd启动一个新的。