Обратное соединение SSH при запуске?

1

У меня Raspberry Pi под управлением Kali Linux. Я хочу, чтобы, как только он загрузился, я подключился с помощью обратного соединения 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скрипт работает до того, как будет установлена ​​сеть, и из-за этого не работает. Попробуйте добавить sleepк сценарию.
Скотт
@ Scott Weeeeell, я просто очень тупой xD. Я уже пытался добавить команду сна раньше, и она не работала, но я думаю, что я не заставлял ее спать достаточно, потому что sleep 60она работает. Спасибо! Как мне задать вопрос как «ответ», когда никто не опубликовал ответ?
Альфа
ОК, я разместил свое предложение в качестве официального ответа. Вы знаете, что делать сейчас, верно? Нажмите на галочку слева от ответа. (Поскольку вы новый пользователь, вам может потребоваться подождать несколько часов, прежде чем вы сможете «принять» ответ.)
Скотт,
@ Скотт Да, я знаю, как сделать это с официальными ответами, еще раз спасибо ^^
Альфа

Ответы:

0

Сценарии запуска иногда запускаются очень рано в процессе загрузки - иногда до установления сети. Если эти сценарии запуска пытаются получить доступ к сети слишком рано, они могут потерпеть неудачу. Добавление (достаточно длинного) sleepв начало вашего скрипта может решить проблему.

Скотт
источник