Autossh 脚本 运行 as systemctl start SERVICE 有效但 systemctl enable SERVICE 失败

Autossh script running as systemctl start SERVICE works but systemctl enable SERVICE failed

我们正在尝试让 autossh 在 Ubuntu 16.04.2 的启动时连接到远程服务器。所以我们使用 systemctl 来完成这项工作。脚本如下:

[Unit]
Description=Keeps a tunnel to 'remote server' open
After=network.target

[Service]
ExecStart=/usr/bin/autossh -NR 83232:localhost:22 -i /home/user/.ssh/id_rsa REMOTE_USER@REMOTE_IP

[Install]
WantedBy=multi-user.target

如果我们使用 start

启动服务就可以了
systemctl start SERVICE

但是如果我们启用服务就会失败

systemctl enable SERVICE

错误代码是

“ssh: connect to host REMOTE_IP port 22: Network is unreachable”

有人可以提供任何建议吗?

非常感谢。

而不是 After=network.target,使用 After=network-online.target

有关 systemd 网络目标的更多信息记录在 systemd wiki page