我需要让 Ubuntu 节点在启动时启动到 SSH 服务器的自动 SSH 隧道。
我创建了一个服务,内容如下:
' ' ' '
[单元]
描述=启动时 Autossh 隧道
之后=网络在线.目标
[服务] 类型=简单
用户=root
ExecStart=/var/tmp/autossh.sh
失败时重新启动
[安装]
WantedBy=多用户.目标
' ' ' '
autossh.sh 脚本位于/var/tmp包含以下内容:
自动SSH[电子邮件保护]-p 22
我运行“sudo systemctl status autossh.service”时收到的错误是: /etc/systemd/system/autossh.service:8: 可执行路径不是绝对的:autossh[电子邮件保护]-p 22
我也尝试添加“自动SSH[电子邮件保护]-p 22” 命令直接在服务中的 ExecStart 命令之后执行。
据我在其他帖子上所见,ExecStart 需要它应该运行的脚本的绝对路径,这就是我所包含的。
我也尝试过添加/bin/bash #!/bin/bashExecStart 命令的开头,以及自动ssh工具脚本,但无论我做什么,都会出现同样的错误。
我也尝试过自动ssh工具在另一个位置编写脚本(/home/用户名/)
答案1
感谢 Soren A,我终于成功了!错误在于我需要绝对路径,该路径是在安装 autossh (/usr/bin/autossh) 时设置的,然后我必须在之后输入参数。我在这里找到了一个我复制的示例: https://www.everythingcli.org/ssh-tunnelling-for-fun-and-profit-autossh/