sshd not starting because of missing /run/sshd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openssh (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
systemd (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I recently upgraded from Ubuntu to 22.04 to 23.04 using do-release-upgrade (twice because I upgraded via 22.10). After doing so, sshd stopped working. The output of "journalctl -xeu ssh.service" includes the line:
Jun 06 01:51:05 big-bucks sshd[4544]: Missing privilege separation directory: /run/sshd
This fixed the problem: sudo mkdir /run/sshd
It seems like either the upgrade sequence or the service startup sequence should have done this automatically.
Currently running: ssh/lunar 1:9.0p1-1ubuntu8 all
There was also a problem reported with /run/sshd on bug #1991283, but I guess the fix for that didn't prevent this.
ProblemType: Bug
DistroRelease: Ubuntu 23.04
Package: ssh (not installed)
Uname: Linux 6.2.6-76060206-
ApportVersion: 2.26.1-0ubuntu2
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: ubuntu:GNOME
Date: Tue Jun 6 02:37:21 2023
SourcePackage: openssh
UpgradeStatus: Upgraded to lunar on 2023-06-04 (1 days ago)
Did this happen before or after you rebooted into Ubuntu 23.04?
If before the reboot, /run/sshd should already have been present on the system, created by the previous version of /lib/systemd/ system/ ssh.service.
If after the reboot, it should be created by /usr/lib/ tmpfiles. d/openssh- server. conf, via /lib/systemd/ system/ systemd- tmpfiles- setup.service.
/lib/systemd/ system/ systemd- tmpfiles- setup.service is a dependency of sysinit.target, so this directory should be created on boot before the ssh socket connection starts up.
So I don't see why this directory would be missing for you.