修改/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 (raspbian-base)上执行以下命令,这两个命令都是基于debian的。
systemctl restart sshd.service; echo $? #=> 0
systemctl restart ssh.service; echo $? #=> 0
systemctl --no-legend --all list-units ssh* #=> only ssh.service exists发布于 2018-09-05 06:13:58
ssh服务在/etc/services中总是被命名为ssh,可能不管发行版是什么,因为它是SSH协议,而不是sshd守护进程。
然后,至少在Debian实现和Debian衍生工具中,选择了相同的名称作为. service ssh start启动服务,该服务被转换为system风格的/etc/init.d/ssh。
这被保留在systemd中,同样是为了一致性,因为服务可以以旧的样式或系统风格的方式以无差别的方式启动。不过,别名也是为了与其他发行版兼容而定义的,其他发行版做出了不同的选择:
[Install]
WantedBy=multi-user.target
Alias=sshd.service因此,两者都可以用于Debian和衍生产品,它们代表着相同的服务。
发布于 2018-09-05 06:03:58
正如已经确定的那样,在不同的发行版中使用不同的名称。
两者都有正当的理由。
sshd,因此sshd.servicesshd的意思是"SSH守护进程“或"SSH服务器”,因此"SSH服务器服务“将是双倍的。因此,这将是发行版维护人员的首选问题。这些首选项也可能随着时间的推移而改变,我记得有一段时间,Suse从ntp切换到ntpd以获取服务名称。
https://unix.stackexchange.com/questions/466916
复制相似问题