我已经通过autossh建立了一条隧道。
这有效:
autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com
我想在后台运行autossh。使用该-f
选项似乎很容易。
但是,这不起作用:
autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com
Autossh在后台正常运行,但是ssh连接似乎每次都失败。在/ var / syslog中,我看到以下多次出现:
autossh[3420]: ssh exited with error status 255; restarting ssh
我究竟做错了什么?一个大胆的猜测是它与通过密钥文件进行身份验证有关。我该如何调试(将-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: No more authentication methods to try.
/usr/bin/ssh[3484]: fatal: Permission denied (publickey).
autossh[3469]: ssh exited with error status 255; restarting ssh
因此,-i myIdFile
当使用-f选项时,autossh似乎不接受我的身份文件()。这是为什么?
(Raspian上的autossh 1.4c)
为什么要使用autossh?您可以将systemd用于“重启失败的东西”。我用解决方案创建了一个要点:gist.github.com/guettli/…–
—
guettli