我想执行这个命令
ssh -R 2200:localhost:80 user@"myddns.net"
每次启动我的 fedora 系统时(请注意,该命令本身在 shell 中运行)。
我想使用 systemd 而不是 crond。
我创建了文件 /etc/systemd/user/myssh.service:
[Unit]
Description=Ssh remote for myssh
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
#User=
#Group=
ExecStart=/usr/bin/ssh -R 2200:localhost:80 user@"myddns.net"
Restart=on-failure
StandardOutput=file:%h/log_file
[Install]
WantedBy=default.target
我启用并启动了它,但是命令不起作用:
systemctl --user enable myssh.service
systemctl --user start myssh.service
这里有一些日志:
➜ ~ journalctl --user -u myssh
août 28 12:33:06 lausanne systemd[1419]: Started myssh.service - ssh remote for Lausanne.
可能是因为 ssh -R 是一个交互式命令,不适合 systemd(或 crond)。还能用这种方式完成吗?
我会添加
-N
选项。根据
man ssh