debcrafters-packages team mailing list archive
-
debcrafters-packages team
-
Mailing list archive
-
Message #06327
[Bug 2111226] Re: sshd socket activation does not support AF_VSOCK
I verified this for noble.
1 deploy fresh noble instance without NIC ( in this case ssh.socket is enabled only )
2 add line for vsock
cat > /etc/systemd/system/ssh.socket.d/vsock.conf << EOF
[Socket]
ListenStream=vsock::22
EOF
3 systemctl daemon-reload; systemctl restart ssh.socket
4 try to connect it with hvc ssh
5. hang
6. add NIC and setup network
7. added noble-proposed pkg and run hvc ssh again
before upgrading, it hung.
after upgrading, I can connect it ( below dpkg is from hvc connected terminal )
ubuntu@noble:~$ dpkg -l | grep openssh
ii openssh-client 1:9.6p1-3ubuntu13.14 amd64 secure shell (SSH) client, for secure access to remote machines
ii openssh-server 1:9.6p1-3ubuntu13.14 amd64 secure shell (SSH) server, for secure access from remote machines
ii openssh-sftp-server 1:9.6p1-3ubuntu13.14 amd64 secure shell (SSH) sftp server module, for SFTP access from remote machines
in terminal
PS C:\Users\one> hvc ssh ubuntu@noble (hang, before upgrading)
PS C:\Users\one> hvc ssh ubuntu@noble ( passed, after upgrading)
The authenticity of host 'hyper-v/noble (<no hostip for proxy command>)' can't be established.
ED25519 key fingerprint is SHA256:rPlwMbuJcvlLAjvhVpFggJRPlsEjL3x8UptHzKOsPDc.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'hyper-v/noble' (ED25519) to the list of known hosts.
ubuntu@hyper-v/noble's password:
Welcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0-53-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Mon Sep 1 05:27:42 AM UTC 2025
System load: 0.01 Processes: 221
Usage of /: 5.2% of 123.41GB Users logged in: 1
Memory usage: 47% IPv4 address for eth0: 172.17.127.46
Swap usage: 0%
Expanded Security Maintenance for Applications is not enabled.
204 updates can be applied immediately.
119 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts.
Check your Internet connection or proxy settings
ubuntu@noble:~$
** Tags removed: verification-needed-noble
** Tags added: verification-done-noble
--
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/2111226
Title:
sshd socket activation does not support AF_VSOCK
Status in openssh package in Ubuntu:
Fix Released
Status in openssh source package in Jammy:
Fix Released
Status in openssh source package in Noble:
Fix Committed
Status in openssh source package in Oracular:
Won't Fix
Status in openssh source package in Plucky:
Fix Committed
Status in openssh source package in Questing:
Fix Released
Bug description:
[Impact]
On Ubuntu VMs running under Microsoft Hyper-V, users commonly rely on 'hv_sock' (Hyper-V socket) to enable seamless SSH access using the 'hvc.exe' tool on the Windows host. This works correctly on Ubuntu Jammy and earlier, but fails silently in Noble, because the logic in Ubuntu's systemd-socket-activation.patch silently rejects sockets that are not AF_INET or AF_INET6.
Hence, when an AF_VSOCK socket is passed (which is supported by
systemd socket's ListenStream=), the client connection silently hangs.
[Test Case]
The autopkgtests for openssh contain socket-activation tests to help
avoid regressions in the existing logic. In addition to those tests,
the below manual testing will be performed to verify the AF_VSOCK fix:
Hyper-V:
1. Launch a VM on Hyper-V, and ensure the hv_sock module is loaded:
$ lsmod | grep hv_sock
2. Adding the socket conf for SSH to listen on vsock:
$ mkdir -p /etc/systemd/system/ssh.socket.d/
$ cat > /etc/systemd/system/ssh.socket.d/vsock.conf << EOF
[Socket]
ListenStream=vsock::22
EOF
$ systemctl daemon-reload
$ systemctl restart ssh.socket
3. Attempt to connect from the Hyper-V host:
hvc ssh user@ubuntu-vm
Expected Result: Connection succeeds and SSH login is presented.
Actual Result: The connection hangs.
Other methods:
Alternatively, this can be verified using LXD VMs.
$ lxc launch --vm ubuntu:$series test
$ lxc shell test
In the VM:
$ mkdir -p /etc/systemd/system/ssh.socket.d/
$ cat > /etc/systemd/system/ssh.socket.d/vsock.conf << EOF
[Socket]
ListenStream=vsock::22
EOF
$ systemctl daemon-reload
$ systemctl restart ssh.socket
Then, from the host:
$ ssh -o StrictHostKeyChecking=no -o "ProxyCommand socat - VSOCK-
CONNECT:$VSOCK_CID:22" ubuntu@localhost
or, if new enough to have systemd-ssh-proxy
$ ssh vsock/$VSOCK_CID
[Where problems could occur]
The effective goals of the patch are to (a) accept when AF_VSOCK
sockets are passed by systemd, and (b) to close() (rather than
silently ignore) unsupported socket types.
There is additional logic to properly log about where the server is
listening. This creates additional room for error.
All of the changes are contained within the setup_systemd_socket()
function. Therefore, problems would be seen when sshd is socket-
activated, e.g. on the first connection attempt to a given server.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/2111226/+subscriptions
References