SSH failed to start - Missing privilege separation directory: /var/run/sshd [duplicate]
According to the bug report here, the problem can be worked around by adding the directory creation code to /etc/rc.local
.
I've done some research and I still can't figure out what is supposed to create that directory on a normal server startup - there're a couple of scripts under /etc
that do this, but they appear to be deprecated as they relate to the old SysV startup and I can't find anything in the SystemD init setup to create that directory.
[Update]: Just noticed @pa4080 comment, and this seems to be it - the file /usr/lib/tmpfiles.d/sshd.conf
exists and contains the line d /var/run/sshd 0755 root root
, in openssh-server
version 1:7.2p2-4ubuntu2.6
.
The tmpfiles.d
directory is part of the systemd-tmpfiles
service and is documented here .
The could be an update anomaly as I've seen relevant bug reports that discuss this as a failed update, and updating the openssh-server to the latest version might fix it.