启动时反向 SSH 连接?

启动时反向 SSH 连接?

我有一台运行 Kali Linux 的 Raspberry Pi。我希望它一启动就通过反向 SSH 连接到我家里的机器,这样无论它在哪里我都可以控制它。

我创建了一个名为 connect.sh 的脚本,其中包含以下行:

sshpass -p '******' ssh -R 12345:localhost:***** user@**.***.**.** -p ***** -N &

我补充说

@reboot /root/connect.sh

到 crontab(我用 crontab -e 编辑了它)。问题是,当我手动执行脚本时,该命令有效,但当我重新启动 Raspberry Pi 并尝试使用我的另一台机器连接到它时,它不起作用。如果我手动执行脚本,它就可以了。

所以我假设启动时执行存在问题。我知道脚本确实执行了,因为我echo test > test在 connect.sh 的开头添加了,当我重新启动 Pi 时,该文件就在那里。所以 SSH 命令有问题。

答案1

启动脚本有时会开始运行非常在启动过程的早期 — 有时是在网络建立之前。如果这些启动脚本尝试过早访问网络,则可能会失败。sleep在脚本开头添加(足够长的)可能会解决问题。

相关内容