我已经通过 autossh 建立了一个隧道。
这有效:
autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com
Run Code Online (Sandbox Code Playgroud)
我想在后台运行 autossh。使用该-f选项似乎很容易。
但是,这不起作用:
autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com
Run Code Online (Sandbox Code Playgroud)
Autossh 在后台正常运行,但 ssh 连接似乎每次都失败。在 /var/syslog 中,我看到多次出现:
autossh[3420]: ssh exited with error status 255; restarting ssh
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?一个疯狂的猜测是它与通过密钥文件的身份验证有关。我该如何调试(将 -v 添加到 ssh 选项似乎没有记录到任何地方)。
编辑: 我使用 -y 选项获得了一些 ssh 日志
/usr/bin/ssh[3484]: debug1: Next authentication method: publickey
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_rsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_dsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_ecdsa
/usr/bin/ssh[3484]: debug1: …Run Code Online (Sandbox Code Playgroud) 我需要将一个小的二进制应用程序分发给有限数量(大约 20 个)的已知用户。
安装过程需要尽可能简单和用户友好。理想情况下,它是命令行上的单个条目,用于下载二进制文件并安装它。
同样重要的是:
我正在思考,为用户提供一个命令,即这样的:
To install the app, please run this from the command line:
wget https://myapp.com/binary.tgz; tar xvfz binary.tgz; sudo install.sh
Run Code Online (Sandbox Code Playgroud)
是否有我应该知道的更合适/更简单的解决方案?
(当然,sudo somethingFromTheInternet对于“真实”发行版来说是一个安全问题。但是我所有的用户都是众所周知的(+了解我),而且用户数量非常有限(大约 20 个)。所以我愿意用安装的便利性来换取在这种情况下的安全性)