首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不是ssh.service,而是sshd.service?

为什么不是ssh.service,而是sshd.service?
EN

Unix & Linux用户
提问于 2018-09-05 05:33:55
回答 2查看 14.8K关注 0票数 14

修改/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的。

代码语言:javascript
复制
systemctl restart sshd.service; echo $? #=> 0
systemctl restart ssh.service; echo $? #=> 0
systemctl --no-legend --all list-units ssh* #=> only ssh.service exists
EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-09-05 06:13:58

ssh服务在/etc/services中总是被命名为ssh,可能不管发行版是什么,因为它是SSH协议,而不是sshd守护进程。

然后,至少在Debian实现和Debian衍生工具中,选择了相同的名称作为. service ssh start启动服务,该服务被转换为system风格的/etc/init.d/ssh

这被保留在systemd中,同样是为了一致性,因为服务可以以旧的样式或系统风格的方式以无差别的方式启动。不过,别名也是为了与其他发行版兼容而定义的,其他发行版做出了不同的选择:

代码语言:javascript
复制
[Install]
WantedBy=multi-user.target
Alias=sshd.service

因此,两者都可以用于Debian和衍生产品,它们代表着相同的服务。

票数 21
EN

Unix & Linux用户

发布于 2018-09-05 06:03:58

正如已经确定的那样,在不同的发行版中使用不同的名称。

两者都有正当的理由。

  • 服务器名为sshd,因此sshd.service
  • sshd的意思是"SSH守护进程“或"SSH服务器”,因此"SSH服务器服务“将是双倍的。

因此,这将是发行版维护人员的首选问题。这些首选项也可能随着时间的推移而改变,我记得有一段时间,Suse从ntp切换到ntpd以获取服务名称。

票数 6
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/466916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档