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

Tom*_*ime 6 centos systemd sshd

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

ListenAddress 127.0.0.1
ListenAddress 10.0.0.10
Run Code Online (Sandbox Code Playgroud)

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

Tim*_*ier 5

systemd 在启动时启动的服务按依赖项排序。要告诉 systemd稍后启动该sshd.service单元,您必须告诉它在启动服务之前应该等待哪个单元。

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

[Unit]
After=network.service
Requires=network.service
Run Code Online (Sandbox Code Playgroud)

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

如果您正在使用systemd-networkd,您可以使用systemd-networkd-wait-online来等待使用--interface=eth0.