[Bug 2020560] [NEW] ssh.service and ssh.socket both running.
Launchpad Bug Tracker
2020560 at bugs.launchpad.net
Tue May 23 16:55:15 UTC 2023
You have been subscribed to a public bug:
I am running Ubuntu 23.04. The out-of-the-box configuration allows SSH
access on port 22. I wish to have ssh listen on both ports 22 and 7022.
The ssh_config file contains a comment that Ubuntu now uses socket
activated connections and thus ignores the Port and ListenAddress
entries. I looked up the ssh socket activation and found that I needed a
/etc/systemd/system/ssh.socket.d directory that contains a listen.conf
file. I created the directory and the listen.conf file that contains
this.
[Socket]
# Uncomment the following line to turn of listening on port 22.
#ListenStream=
ListenStream=7022
I then ran these two commands:
sudo systemctl daemon-reload
sudo systemctl restart ssh
I then checked for port listeners:
root# lsof -i -P -n | grep LISTEN
systemd 1 root 454u IPv6 25979 0t0 TCP *:22 (LISTEN)
systemd-r 638 systemd-resolve 14u IPv4 35332 0t0 TCP 127.0.0.53:53 (LISTEN)
systemd-r 638 systemd-resolve 16u IPv4 35334 0t0 TCP 127.0.0.54:53 (LISTEN)
Xtigervnc 941 moose 9u IPv4 22485 0t0 TCP 127.0.0.1:5902 (LISTEN)
Xtigervnc 941 moose 10u IPv6 22486 0t0 TCP [::1]:5902 (LISTEN)
cupsd 2258639 root 6u IPv6 33526334 0t0 TCP [::1]:631 (LISTEN)
cupsd 2258639 root 7u IPv4 33526335 0t0 TCP 127.0.0.1:631 (LISTEN)
sshd 3698765 root 3u IPv6 25979 0t0 TCP *:22 (LISTEN)
I then discovered that both ssh.service and ssh.socket are running:
root@/etc/netplan# systemctl status ssh.service
? 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: active (running) since Tue 2023-05-23 11:17:29 EDT; 36min ago
TriggeredBy: ? ssh.socket
Docs: man:sshd(8)
man:sshd_config(5)
Process: 3698763 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 3698765 (sshd)
Tasks: 3 (limit: 38046)
Memory: 3.6M
CPU: 206ms
CGroup: /system.slice/ssh.service
??3698765 "sshd: /usr/sbin/sshd -D [listener] 1 of 10-100 startups"
??3777496 "sshd: root [priv]"
??3777497 "sshd: root [net]"
May 23 11:51:44 alces sshd[3771657]: ...
Hint: Some lines were ellipsized, use -l to show in full.
root@/etc/netplan# systemctl status ssh.socket
? ssh.socket - OpenBSD Secure Shell server socket
Loaded: loaded (/lib/systemd/system/ssh.socket; enabled; preset: enabled)
Drop-In: /etc/systemd/system/ssh.socket.d
??listen.conf
Active: active (running) since Mon 2023-05-15 09:23:44 EDT; 1 week 1 day ago
Until: Mon 2023-05-15 09:23:44 EDT; 1 week 1 day ago
Triggers: ? ssh.service
Listen: [::]:22 (Stream)
[::]:7022 (Stream)
Tasks: 0 (limit: 38046)
Memory: 8.0K
CPU: 569us
CGroup: /system.slice/ssh.socket
May 15 09:23:44 alces systemd[1]: ...
Hint: Some lines were ellipsized, use -l to show in full.
Finally, I found that /lib/systemd/system contains both ssh.service and ssh.socket configurations.
ssh.service:
[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/sbin/sshd -t
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -t
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify
[Install]
WantedBy=multi-user.target
Alias=sshd.service
ssh.socket:
[Unit]
Description=OpenBSD Secure Shell server socket
Before=sockets.target
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
[Socket]
ListenStream=22
Accept=no
[Install]
WantedBy=sockets.target
Finally, in /etc/systemd/system there is an ssh.service.d directory that
contains the 00-socket.conf file that contains:
[Unit]
After=ssh.socket
Requires=ssh.socket
This is very confusing. I could disable ssh.service, but I am concerned that if I do this I will lose ssh connectivity to my headless server. What is the way out of this morass? It would be VERY helpful if there was a comprehensive guide to the current ssh configuration that explains what services to run, how to configure those services, and where the configuration files should reside.
** Affects: openssh (Ubuntu)
Importance: Undecided
Status: New
** Tags: bot-comment
--
ssh.service and ssh.socket both running.
https://bugs.launchpad.net/bugs/2020560
You received this bug notification because you are a member of Ubuntu Foundations Bugs, which is subscribed to openssh in Ubuntu.
More information about the foundations-bugs
mailing list