上下文: Raspberry pi 3B+ 上的 64 位 Ubuntu Server 24.04
sudo systemctl 状态 ssh
重启 ssh 服务器后的结果。为什么第二行显示已禁用?如何诊断/测试?这会带来什么限制?
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/usr/lib/systemd/system/ssh.service; disabled; preset: enabled)
Active: active (running) since Wed 2025-01-08 07:35:43 UTC; 8h ago
TriggeredBy: ● ssh.socket
Docs: man:sshd(8)
man:sshd_config(5)
Process: 1584 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 1586 (sshd)
Tasks: 1 (limit: 853)
Memory: 1.1M (peak: 2.9M)
CPU: 303ms
CGroup: /system.slice/ssh.service
└─1586 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
Jan 08 07:35:43 rpi3mqtt systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
Jan 08 07:35:43 rpi3mqtt sshd[1586]: Server listening on :: port 22.
Jan 08 07:35:43 rpi3mqtt systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
Jan 08 14:48:16 rpi3mqtt sshd[2411]: Connection closed by authenticating user ubuntu 192.168.8.242 port 64789 [preauth]
根据评论的要求:
sudo systemctl status ssh.socket
● ssh.socket - OpenBSD Secure Shell server socket
Loaded: loaded (/usr/lib/systemd/system/ssh.socket; enabled; preset: enabled)
Active: active (running) since Wed 2025-01-08 19:03:57 UTC; 2h 36min ago
Triggers: ● ssh.service
Listen: [::]:22 (Stream)
Tasks: 0 (limit: 853)
Memory: 8.0K (peak: 256.0K)
CPU: 3ms
CGroup: /system.slice/ssh.socket
Jan 08 19:03:57 rpi3mqtt systemd[1]: Listening on ssh.socket - OpenBSD Secure Shell server socket.
该服务已被禁用,因此它不会在启动时启动,但已启动,因此现在可用。
正如@telcoM在评论中指出的那样,该条目表明 SSH 服务可能已配置为套接字激活,即,将保留 TCP 端口 22 的套接字,并在传入连接到达时启动实时,并将连接传递给它。(本质上类似于旧版或。)
TriggeredBy: ● ssh.socket
systemd
sshd
inetd
xinetd
在这种情况下
ssh.service
将是,disabled
但ssh.socket
将是enabled
,并且这符合您的场景。或者,您可以恢复使用
ssh.service
:(您需要 root 权限才能运行这些系统管理命令。这可能使用
sudo
、、或其他方法。)doas
su
为什么要将系统配置为使用?主要是为了在非必要的情况下
ssh.socket
避免启动守护进程,从而节省资源。sshd