记一次ssh服务挂掉解决

0x00 报错现象

升级系统后ssh无法启动

排查

service ssh status

1
2
3
4
5
6
7
8
9
10
11
12
13
14
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since Tue 2019-03-19 23:00:55 EDT; 19min ago
Process: 522 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255)

Mar 19 23:00:55 kali systemd[1]: ssh.service: Unit entered failed state.
Mar 19 23:00:55 kali systemd[1]: ssh.service: Failed with result 'exit-code'.
Mar 19 23:00:55 kali systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
Mar 19 23:00:55 kali systemd[1]: Stopped OpenBSD Secure Shell server.
Mar 19 23:00:55 kali systemd[1]: ssh.service: Start request repeated too quickly.
Mar 19 23:00:55 kali systemd[1]: Failed to start OpenBSD Secure Shell server.
Mar 19 23:00:55 kali systemd[1]: ssh.service: Unit entered failed state.
Mar 19 23:00:55 kali systemd[1]: ssh.service: Failed with result 'start-limit-hit'.

排查

/usr/sbin/sshd -T

1
Missing privilege separation directory: /var/run/sshd

也可以如下调试

/usr/sbin/sshd -ddd

0x01 解决

临时性解决

1
2
mkdir /var/run/sshd
chmod 0755 /var/run/sshd

终极解决

1
2
edit /usr/lib/tmpfiles.d/sshd.conf and remove /var from the line d /var/run/sshd 0755 root root to read instead: 
d /run/sshd 0755 root root