updating openssh-server fails, because port 22 is in use by systemd
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openssh (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
openssh-server tries to restart itself, but openssh-server reports port 22 in use. This is true: systemd has taken port 22 to start sshd if one connects to port 22.
two solutions:
1. dont start sshd after installing.
configure it without starting it afterwards.
2. stop systemd listening on port 22
before starting sshd, then start sshd,
terminate it after configuring, then
start systemd listening on port 22 again.
Second problem:
starting ssh.service does not check if "/run/sshd" exists. This directory has to be created before sshd is started. Unclear if this is an error with sshd not creating this directory before dropping privileges or if this has to be done once while installing. IMHO the first is the case.
Workaround:
systemctl stop ssh.service
systemctl disable ssh.service
apt upgrade
systemctl enable ssh.service
killall sshd
mkdir /run/sshd
systemctl start ssh.service
ProblemType: Bug
DistroRelease: Ubuntu 21.10
Package: openssh-server 1:8.4p1-6ubuntu2.1
ProcVersionSign
Uname: Linux 5.13.0-23-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.11-0ubuntu71
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: XFCE
Date: Tue Jan 11 19:11:47 2022
InstallationDate: Installed on 2021-08-18 (146 days ago)
InstallationMedia: Xubuntu 21.04 "Hirsute Hippo" - Release amd64 (20210420)
SSHDConfig: Error: command ['pkexec', '/usr/sbin/sshd', '-T'] failed with exit code 255: Missing privilege separation directory: /run/sshd
SourcePackage: openssh
UpgradeStatus: No upgrade log present (probably fresh install)
Hi Thomas,
Thank you for taking the time to file a bug report.
The systemd service is indeed restarted throughout the package upgrade process. This means that sshd is supposed to halt (and cease listening on port 22) before the service is started again.
How are you starting the ssh server? Would you mind providing your configuration file as well (make sure there is no sensitive data being shared if you decide to do so). Providing logs will also help us identify the issue you have been experiencing.
As for the second issue reported, regarding creation of the /run/sshd directory when starting the service through systemd, this is actually performed through the RuntimeDirectory directive in the ssh unit files.
Finally, would you be able to provide a reproducer for the issue?
Since there is not enough information in your report to begin triage or to
differentiate between a local configuration problem and a bug in Ubuntu, I
am marking this bug as "Incomplete". We would be grateful if you would:
provide a more complete description of the problem, explain why you
believe this is a bug in Ubuntu rather than a problem specific to your
system, and then change the bug status back to "New".
For local configuration issues, you can find assistance here: www.ubuntu. com/support/ community
http://