启动时反向SSH连接?


1

我有一个运行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命令存在问题。


这只是一个猜测,但是您的connect脚本可能在建立网络之前就已运行,并且因此而失败。尝试将a添加sleep到脚本中。
斯科特

@Scott Weeeeell,我只是xD傻瓜。我之前已经尝试添加一个sleep命令,但是它没有用,但是我认为我没有使其足够睡眠,因为使用时sleep 60,它可以工作。谢谢!没有人发布答案时,如何将问题设置为“已回答”?
Alpha

好的,我已将我的建议重新发布为正式答案。你知道该怎么办吧?单击答案左侧的复选标记。(由于您是新用户,可能需要等待几个小时才能“接受”答案。)
Scott

@Scott是的,我知道该怎么做才能得到官方答复,再次感谢您^^
Alpha

Answers:


0

启动脚本有时会开始运行非常在启动过程的早期阶段-网络成立之前有时。如果这些启动脚本尝试过早访问网络,则它们可能会失败。在sleep脚本的开头添加一个(足够长)可以解决该问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.