如何告诉 systemd 在启动顺序中稍后启动 sshd?

如何告诉 systemd 在启动顺序中稍后启动 sshd?

我的 sshd_config 文件指定它应该侦听某些特定的 IP 地址而不是所有 IP 地址。问题是这些 NIC 之一直到启动顺序稍后才会出现。那时 sshd 已经启动,并且由于 IP 地址不可用,因此永远不会侦听该 IP 地址。

ListenAddress 127.0.0.1
ListenAddress 10.0.0.10

有没有办法告诉 sshd 定期重新扫描可用的 IP 地址,或者有没有办法告诉 systemd 稍后启动 sshd?

答案1

systemd 在启动时启动的服务按依赖关系排序。告诉 systemd 启动该sshd.service单元之后,你必须告诉它应该使用哪个单位等待在开始服务之前。

一旦找到负责网络设置的单元(最有可能network.service在 CentOS 7 上),您就可以创建一个嵌入式配置文件(名称必须是something.conf)在文件夹/etc/systemd/system/sshd.service.d/(最初可能不存在)中包含以下内容:

[Unit]
After=network.service
Requires=network.service

这将通知 systemd 在启动之前需要等待服务的启动network.service完成sshd.service

如果您正在使用systemd-networkd,你可以使用systemd-networkd-在线等待使用 等待特定接口的设置--interface=eth0

相关内容