Exe. 路径不是绝对的(尝试启动我创建的服务)

Exe. 路径不是绝对的(尝试启动我创建的服务)

我需要让 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/

相关内容