看来自从 autossh 改变了它们的语法,我在通过 autossh 与我的服务器建立反向 ssh 隧道时有点过度紧张。这是我试图运行的脚本:
autossh -M 20000 -f -N -R 17999:localhost:22 user@server -pXXXX -i id_rsa
其中 20000 是监控端口(autossh 现在似乎需要),17999 是我的服务器上 autossh 应该侦听的端口,22 是我本地计算机上的开放端口,XXXX 是我服务器上开放的 SSH 端口。但尽管如此,我的journalctl 显示了这一点:
autossh[7891]: ssh exited with error status 255; restarting ssh
连续。我哪里做错了?我使用的纯 SSH 等效项是
ssh -fNC -R 17999:localhost:22 user@server -pXXXX -i id_rsa
这效果很好。
答案1
没关系,我自己发现了问题:似乎与 ssh 相反的 autossh 在启动连接时会退出当前目录,即 -i id_rsa 无法被 autossh 读取,因为它已将目录留在我的 RSA 密钥中当时它试图建立连接。提供我的密钥的完整路径很有帮助,autossh 现在可以按预期工作。