在系统启动时自动启动反向 ssh 隧道

ore*_*tis 6 ssh cron autostart

我有一台位于防火墙后面的远程计算机,我希望通过 SSH 连接到该计算机。据我了解,这可以通过使用反向 ssh 隧道来实现。

所以我使用的命令是

ssh -N -f -R 0.0.0.0:1234:localhost:22  -i /home/username/.ssh/id_rsa.pub  username@remote-server.com
Run Code Online (Sandbox Code Playgroud)

我的主要问题是我想在计算机启动时执行此命令,以便重新启动后可以访问计算机。

我尝试通过添加用户的 crontab 和 中的命令来使用 cron /etc/cron。然而我遇到的问题是这两个命令都要求输入密码。我已经创建了the id_rsa.pub文件并将其发送到远程服务器,但它似乎仍然不起作用。

如果我登录(例如通过 teamviewer),我可以运行该命令,并且不会询问密码。如果我以 root ( sudo) 身份运行该命令,则会询问 rsa 文件的(空)密码。我怀疑我的问题就在这里,即当 cron 执行命令 ssh 要求输入密码时,命令挂起。

我尝试过使用用户的 rsa 文件和 root 的 rsa 文件,但我都无法连接。

ore*_*tis 3

组合多个源后,我创建了一个服务来自动启动反向 ssh 通道。配置文件和必要的步骤可以 在此存储库中找到