修改后/etc/ssh/sshd_config
,您可以执行systemctl restart sshd.service
以反映更改。至少在我的环境中,也systemctl restart ssh.service
有效。并systemctl --all list-units ssh*
告诉我没有任何名为 的服务sshd.service
。那么为什么sshd.service
使用广泛并且实际上有效?
(我知道 ssh 守护进程的名称是 sshd
,但这不是合理的原因,我认为。)
linux mint 19
我在( ubuntu
-base) 和volumio 2
( -base)上执行了以下命令raspbian
,这两个命令都是基于debian
.
systemctl restart sshd.service; echo $? #=> 0
systemctl restart ssh.service; echo $? #=> 0
systemctl --no-legend --all list-units ssh* #=> only ssh.service exists
ssh 服务一直被命名为 ssh in
/etc/services
,可能是任何发行版,因为它是SSH协议,而不是sshd
守护进程。然后它是有道理的,至少在 Debian 实现和因此 Debian 衍生品中,选择了相同的名称来启动服务...
service ssh start
翻译成 system-V 风格/etc/init.d/ssh
。这被保存在 systemd 中,同样是为了保持一致性,因为服务可以用旧样式或 systemd 样式的方式无差别地启动。尽管如此,还定义了别名以与做出不同选择的其他发行版兼容:
所以两者都可以在 Debian 和衍生产品上使用,它们代表相同的服务。
正如已经确定的,不同的名称用于不同的发行版。
两者都有正当理由
sshd
,因此sshd.service
sshd
表示“SSH 守护程序”或“SSH 服务器”,因此“SSH 服务器服务”将是双倍的。所以这将是发行版维护者的偏好问题。这些偏好也可能会随着时间而改变,我记得有一次 Suse 将服务名称从 切换
ntp
到ntpd
。