I also tested upgrades from 1:9.0p1-1ubuntu7.3 in kinetic-proposed to 1:9.0p1-1ubuntu8.2 in lunar-proposed to confirm we won't be introducing bug 2020474:
root@kinetic:~# ssh localhost Welcome to Ubuntu 22.10 (GNU/Linux 6.2.0-20-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@kinetic:~# apt-cache policy openssh-server openssh-server: Installed: 1:9.0p1-1ubuntu7.3 Candidate: 1:9.0p1-1ubuntu7.3 Version table: *** 1:9.0p1-1ubuntu7.3 500 500 http://archive.ubuntu.com/ubuntu kinetic-proposed/main amd64 Packages 100 /var/lib/dpkg/status 1:9.0p1-1ubuntu7.1 500 500 http://archive.ubuntu.com/ubuntu kinetic-updates/main amd64 Packages 1:9.0p1-1ubuntu7 500 500 http://archive.ubuntu.com/ubuntu kinetic/main amd64 Packages root@kinetic:~# sed -i 's/kinetic/lunar/g' /etc/apt/sources.list root@kinetic:~# apt update Get:1 http://archive.ubuntu.com/ubuntu lunar InRelease [267 kB] Get:2 http://security.ubuntu.com/ubuntu lunar-security InRelease [109 kB] Get:3 http://security.ubuntu.com/ubuntu lunar-security/main amd64 Packages [69.9 kB] Get:4 http://archive.ubuntu.com/ubuntu lunar-updates InRelease [109 kB] Get:5 http://security.ubuntu.com/ubuntu lunar-security/main Translation-en [20.5 kB] Get:6 http://security.ubuntu.com/ubuntu lunar-security/universe amd64 Packages [33.4 kB] Get:7 http://security.ubuntu.com/ubuntu lunar-security/universe Translation-en [11.0 kB] Get:8 http://archive.ubuntu.com/ubuntu lunar-proposed InRelease [255 kB] Get:9 http://archive.ubuntu.com/ubuntu lunar/main amd64 Packages [1,396 kB] Get:10 http://archive.ubuntu.com/ubuntu lunar/main Translation-en [513 kB] Get:11 http://archive.ubuntu.com/ubuntu lunar/restricted amd64 Packages [143 kB] Get:12 http://archive.ubuntu.com/ubuntu lunar/restricted Translation-en [21.9 kB] Get:13 http://archive.ubuntu.com/ubuntu lunar/universe amd64 Packages [15.0 MB] Get:14 http://archive.ubuntu.com/ubuntu lunar/universe Translation-en [5,906 kB] Get:15 http://archive.ubuntu.com/ubuntu lunar/multiverse amd64 Packages [236 kB] Get:16 http://archive.ubuntu.com/ubuntu lunar/multiverse Translation-en [112 kB] Get:17 http://archive.ubuntu.com/ubuntu lunar-updates/main amd64 Packages [124 kB] Get:18 http://archive.ubuntu.com/ubuntu lunar-updates/main Translation-en [33.5 kB] Get:19 http://archive.ubuntu.com/ubuntu lunar-updates/universe amd64 Packages [63.0 kB] Get:20 http://archive.ubuntu.com/ubuntu lunar-updates/universe Translation-en [20.7 kB] Get:21 http://archive.ubuntu.com/ubuntu lunar-proposed/main amd64 Packages [64.7 kB] Get:22 http://archive.ubuntu.com/ubuntu lunar-proposed/main Translation-en [18.3 kB] Get:23 http://archive.ubuntu.com/ubuntu lunar-proposed/restricted amd64 Packages [82.7 kB] Get:24 http://archive.ubuntu.com/ubuntu lunar-proposed/restricted Translation-en [15.6 kB] Get:25 http://archive.ubuntu.com/ubuntu lunar-proposed/universe amd64 Packages [20.0 kB] Get:26 http://archive.ubuntu.com/ubuntu lunar-proposed/universe Translation-en [9,732 B] Get:27 http://archive.ubuntu.com/ubuntu lunar-proposed/multiverse amd64 Packages [8,192 B] Get:28 http://archive.ubuntu.com/ubuntu lunar-proposed/multiverse Translation-en [2,572 B] Fetched 24.7 MB in 4s (5,656 kB/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done 204 packages can be upgraded. Run 'apt list --upgradable' to see them. root@kinetic:~# apt-cache policy openssh-server openssh-server: Installed: 1:9.0p1-1ubuntu7.3 Candidate: 1:9.0p1-1ubuntu8 Version table: 1:9.0p1-1ubuntu8.2 100 100 http://archive.ubuntu.com/ubuntu lunar-proposed/main amd64 Packages 1:9.0p1-1ubuntu8 500 500 http://archive.ubuntu.com/ubuntu lunar/main amd64 Packages *** 1:9.0p1-1ubuntu7.3 100 100 /var/lib/dpkg/status root@kinetic:~# lsof -i :22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 42u IPv6 1991217 0t0 TCP *:ssh (LISTEN) sshd 1011 root 3u IPv6 1991217 0t0 TCP *:ssh (LISTEN) ssh 1015 root 3u IPv6 1988536 0t0 TCP localhost:34296->localhost:ssh (ESTABLISHED) sshd 1016 root 4u IPv6 1992984 0t0 TCP localhost:ssh->localhost:34296 (ESTABLISHED) root@kinetic:~# apt install openssh-server=1:9.0p1-1ubuntu8.2 openssh-client=1:9.0p1-1ubuntu8.2 openssh-sftp-server=1:9.0p1-1ubuntu8.2 -y Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libssl3 openssl Suggested packages: keychain libpam-ssh monkeysphere ssh-askpass molly-guard ufw The following packages will be upgraded: libssl3 openssh-client openssh-server openssh-sftp-server openssl 5 upgraded, 0 newly installed, 0 to remove and 199 not upgraded. Need to get 4,449 kB of archives. After this operation, 88.1 kB disk space will be freed. Get:1 http://archive.ubuntu.com/ubuntu lunar-updates/main amd64 libssl3 amd64 3.0.8-1ubuntu1.2 [1,902 kB] Get:2 http://archive.ubuntu.com/ubuntu lunar-proposed/main amd64 openssh-sftp-server amd64 1:9.0p1-1ubuntu8.2 [38.3 kB] Get:3 http://archive.ubuntu.com/ubuntu lunar-proposed/main amd64 openssh-server amd64 1:9.0p1-1ubuntu8.2 [431 kB] Get:4 http://archive.ubuntu.com/ubuntu lunar-proposed/main amd64 openssh-client amd64 1:9.0p1-1ubuntu8.2 [894 kB] Get:5 http://archive.ubuntu.com/ubuntu lunar-updates/main amd64 openssl amd64 3.0.8-1ubuntu1.2 [1,183 kB] Fetched 4,449 kB in 0s (10.6 MB/s) Preconfiguring packages ... (Reading database ... 19344 files and directories currently installed.) Preparing to unpack .../libssl3_3.0.8-1ubuntu1.2_amd64.deb ... Unpacking libssl3:amd64 (3.0.8-1ubuntu1.2) over (3.0.5-2ubuntu2.3) ... Preparing to unpack .../openssh-sftp-server_1%3a9.0p1-1ubuntu8.2_amd64.deb ... Unpacking openssh-sftp-server (1:9.0p1-1ubuntu8.2) over (1:9.0p1-1ubuntu7.3) ... Preparing to unpack .../openssh-server_1%3a9.0p1-1ubuntu8.2_amd64.deb ... Unpacking openssh-server (1:9.0p1-1ubuntu8.2) over (1:9.0p1-1ubuntu7.3) ... Preparing to unpack .../openssh-client_1%3a9.0p1-1ubuntu8.2_amd64.deb ... Unpacking openssh-client (1:9.0p1-1ubuntu8.2) over (1:9.0p1-1ubuntu7.3) ... Preparing to unpack .../openssl_3.0.8-1ubuntu1.2_amd64.deb ... Unpacking openssl (3.0.8-1ubuntu1.2) over (3.0.5-2ubuntu2.3) ... Setting up libssl3:amd64 (3.0.8-1ubuntu1.2) ... Setting up openssl (3.0.8-1ubuntu1.2) ... Installing new version of config file /etc/ssl/openssl.cnf ... Setting up openssh-client (1:9.0p1-1ubuntu8.2) ... Setting up openssh-sftp-server (1:9.0p1-1ubuntu8.2) ... Setting up openssh-server (1:9.0p1-1ubuntu8.2) ... rescue-ssh.target is a disabled or a static unit not running, not starting it. Processing triggers for libc-bin (2.36-0ubuntu4) ... root@kinetic:~# apt-cache policy openssh-server openssh-server: Installed: 1:9.0p1-1ubuntu8.2 Candidate: 1:9.0p1-1ubuntu8.2 Version table: *** 1:9.0p1-1ubuntu8.2 100 100 http://archive.ubuntu.com/ubuntu lunar-proposed/main amd64 Packages 100 /var/lib/dpkg/status 1:9.0p1-1ubuntu8 500 500 http://archive.ubuntu.com/ubuntu lunar/main amd64 Packages root@kinetic:~# systemctl status ssh.socket ssh.service ● ssh.socket - OpenBSD Secure Shell server socket Loaded: loaded (/lib/systemd/system/ssh.socket; enabled; preset: enabled) Active: active (listening) since Fri 2023-06-02 14:24:43 UTC; 19s ago Until: Fri 2023-06-02 14:24:43 UTC; 19s ago Triggers: ● ssh.service Listen: [::]:22 (Stream) CGroup: /system.slice/ssh.socket Jun 02 14:24:43 kinetic systemd[1]: Listening on OpenBSD Secure Shell server socket. ○ ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; disabled; preset: enabled) Drop-In: /etc/systemd/system/ssh.service.d └─00-socket.conf /run/systemd/system/service.d └─zzz-lxc-service.conf Active: inactive (dead) since Fri 2023-06-02 14:24:42 UTC; 20s ago Duration: 2min 12.034s TriggeredBy: ● ssh.socket Docs: man:sshd(8) man:sshd_config(5) Main PID: 1011 (code=exited, status=0/SUCCESS) CPU: 104ms Jun 02 14:22:30 kinetic sshd[1011]: Server listening on :: port 22. Jun 02 14:22:30 kinetic systemd[1]: Started OpenBSD Secure Shell server. Jun 02 14:22:34 kinetic sshd[1012]: Connection closed by authenticating user root ::1 port 37598 [preauth] Jun 02 14:22:45 kinetic sshd[1016]: Accepted publickey for root from ::1 port 34296 ssh2: RSA SHA256:BpuS10kEBPBrKFF6c> Jun 02 14:22:45 kinetic sshd[1016]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0) Jun 02 14:22:46 kinetic sshd[1016]: pam_env(sshd:session): deprecated reading of user environment enabled Jun 02 14:24:42 kinetic sshd[1011]: Received signal 15; terminating. Jun 02 14:24:42 kinetic systemd[1]: Stopping OpenBSD Secure Shell server... Jun 02 14:24:42 kinetic systemd[1]: ssh.service: Deactivated successfully. Jun 02 14:24:42 kinetic systemd[1]: Stopped OpenBSD Secure Shell server. ** Tags removed: verification-needed verification-needed-kinetic verification-needed-lunar ** Tags added: verification-done verification-done-kinetic verification-done-lunar ** Tags removed: block-proposed-kinetic block-proposed-lunar -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to openssh in Ubuntu. https://bugs.launchpad.net/bugs/2011458 Title: ssh fails to rebind when it is killed with -HUP Status in openssh package in Ubuntu: Fix Released Status in openssh source package in Kinetic: Fix Committed Status in openssh source package in Lunar: Fix Committed Bug description: [Impact] The sshd re-execution logic is generally broken with systemd socket activation, which means that (1) sshd fails when it is told to re-exec via SIGHUP (e.g. systemctl reload ssh), and (2) sshd fails when started in debug mode. [Test Case] (1) Test systemctl reload ssh: * On a machine with openssh-server installed, make a connection to localhost to activate ssh.service (the connection does not need to be complete, so you can just say "no" at the host key verification stage): $ ssh localhost [...] * Send SIGHUP to sshd by calling systemctl reload ssh: $ systemctl reload ssh * Check the service state: $ systemctl status ssh × ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; disabled; preset: enabled) Drop-In: /etc/systemd/system/ssh.service.d └─00-socket.conf Active: failed (Result: exit-code) since Mon 2023-04-17 20:43:27 UTC; 4s ago Duration: 2min 44.132s TriggeredBy: ● ssh.socket Docs: man:sshd(8) man:sshd_config(5) Process: 1112 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255/EXCEPTION) Process: 1152 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS) Process: 1153 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS) Main PID: 1112 (code=exited, status=255/EXCEPTION) CPU: 79ms Apr 17 20:40:43 lunar systemd[1]: Started ssh.service - OpenBSD Secure Shell server. Apr 17 20:41:06 lunar sshd[1113]: Connection closed by 127.0.0.1 port 54666 [preauth] Apr 17 20:43:27 lunar systemd[1]: Reloading ssh.service - OpenBSD Secure Shell server... Apr 17 20:43:27 lunar sshd[1112]: Received SIGHUP; restarting. Apr 17 20:43:27 lunar systemd[1]: Reloaded ssh.service - OpenBSD Secure Shell server. Apr 17 20:43:27 lunar sshd[1112]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use. Apr 17 20:43:27 lunar sshd[1112]: error: Bind to port 22 on :: failed: Address already in use. Apr 17 20:43:27 lunar sshd[1112]: fatal: Cannot bind any address. Apr 17 20:43:27 lunar systemd[1]: ssh.service: Main process exited, code=exited, status=255/EXCEPTION Apr 17 20:43:27 lunar systemd[1]: ssh.service: Failed with result 'exit-code'. * On an affected machine, the service will fail as shown above. (2) Test debug mode: * On a machine with openssh-server installed, edit /etc/default/ssh to configure debug mode for sshd: $ cat /etc/default/ssh # Default settings for openssh-server. This file is sourced by /bin/sh from # /etc/init.d/ssh. # Options to pass to sshd SSHD_OPTS=-ddd * Attempt to make a connection to localhost: $ ssh localhost kex_exchange_identification: read: Connection reset by peer Connection reset by 127.0.0.1 port 22 * On an affected machine, the attempt will fail as shown above, and the service will be in a failed state: $ systemctl status ssh × ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; disabled; preset: enabled) Drop-In: /etc/systemd/system/ssh.service.d └─00-socket.conf Active: failed (Result: exit-code) since Mon 2023-04-17 20:46:34 UTC; 2min 27s ago Duration: 5ms TriggeredBy: ● ssh.socket Docs: man:sshd(8) man:sshd_config(5) Process: 1166 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS) Process: 1167 ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255/EXCEPTION) Main PID: 1167 (code=exited, status=255/EXCEPTION) CPU: 40ms Apr 17 20:46:34 lunar sshd[1167]: Server listening on :: port 22. Apr 17 20:46:34 lunar sshd[1167]: debug3: fd 4 is not O_NONBLOCK Apr 17 20:46:34 lunar sshd[1167]: debug1: Server will not fork when running in debugging mode. Apr 17 20:46:34 lunar sshd[1167]: debug3: send_rexec_state: entering fd = 7 config len 3456 Apr 17 20:46:34 lunar sshd[1167]: debug3: ssh_msg_send: type 0 Apr 17 20:46:34 lunar sshd[1167]: debug3: send_rexec_state: done Apr 17 20:46:34 lunar sshd[1167]: debug1: rexec start in 4 out 4 newsock 4 pipe -1 sock 7 Apr 17 20:46:34 lunar systemd[1]: Started ssh.service - OpenBSD Secure Shell server. Apr 17 20:46:34 lunar systemd[1]: ssh.service: Main process exited, code=exited, status=255/EXCEPTION Apr 17 20:46:34 lunar systemd[1]: ssh.service: Failed with result 'exit-code'. [Where problems could occur] The fix expands Ubuntu's patch for systemd socket activation to try and make sure that any fds passed from systemd are not closed across re-executions of sshd. If we saw a problem, it would most likely be an attempt to operate on a closed fd, or the wrong fd, as a result of an edge case in one of the re-execution paths. [Original Description] In kinetic and lunar gce images we are facing an issue when ssh is being killed with -HUP SSH is failing to rebind port 22. It is not failing in other previous systems. It can be reproduced by running # pkill -o -HUP sshd || true # journalctl -n 20 Mar 13 14:58:52 mar131454-025105 sshd[1371]: Received SIGHUP; restarting. Mar 13 14:58:52 mar131454-025105 sshd[1371]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use. Mar 13 14:58:52 mar131454-025105 sshd[1371]: error: Bind to port 22 on :: failed: Address already in use. Mar 13 14:58:52 mar131454-025105 sshd[1371]: fatal: Cannot bind any address. Mar 13 14:58:52 mar131454-025105 systemd[1]: ssh.service: Main process exited, code=exited, status=255/EXCEPTION Mar 13 14:58:52 mar131454-025105 systemd[1]: ssh.service: Failed with result 'exit-code'. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/2011458/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp