Назад | Перейти на главную страницу

Проблемы с запуском autossh при загрузке [ubuntu]

Я пытаюсь автоматически запустить SSH-туннель к моему серверу при загрузке из окна Ubuntu. У меня есть коробка ubuntu, которая установлена ​​на 18-колесном автомобиле и подключена к сети за воздушной картой. В коробке находится база данных mysql, которую я пытаюсь реплицировать при подключении карты aircard. Поскольку я никогда не могу быть уверен в своем IP-адресе и в том, сколько или какие маршрутизаторы я использую, я подключен к своему серверу репликации с помощью SSH-туннеля. Я получил это с помощью следующей команды:

ssh -R 3307:localhost:3307 myuser@myserver.com

Теперь я бы хотел, чтобы это запускалось всякий раз, когда коробка находится, и всегда был в живых, поэтому я установил auto-ssh и настроил этот небольшой скрипт:

ID=xkenneth
HOST=erdosmiller.com
AUTOSSH_POLL=15
AUTOSSH_PORT=20000
AUTOSSH_GATETIME=30
AUTOSSH_DEBUG=yes
AUTOSSH_PATH=/usr/bin/ssh
export AUTOSSH_POLL AUTOSSH_DEBUG AUTOSSH_PATH AUTOSSH_GATETIME AUTOSSH_PORT
autossh -2 -fN -M 20000 -R 3307:localhost:3306 ${ID}@${HOST}

Я пробовал поместить этот скрипт в /etc/init.d/ и использовать команду post-up в / etc / network / interfaces, а также поместить его в /etc/network/if-up.d/. В обоих случаях скрипт запускается при загрузке, но туннель не устанавливается правильно. Скрипт работает при ручном запуске.

Если он работает правильно, но не подключается, я подозреваю, что он забегает вперед и не ждет подключения к сети. Попробуйте отложить туннель, добавив сон в начале скрипта. sleep 60 , вероятно, справится со своей задачей, не зная, как быстро устанавливается ваше соединение.

Я подозреваю это, потому что autossh сдается, если первая попытка не удалась. Из README:

If the ssh session fails with an exit status of 1 on the very first 
try, autossh will assume that there is some problem with syntax or
the connection setup, and will exit rather than retrying;

Обратите внимание, что здесь также говорится, что вы можете установить AUTOSSH_GATETIME до 0, чтобы отключить это поведение.

При запуске скрипта вы вводите пароль вручную? Если это так, вам придется настроить вход без пароля с помощью ключей SSH.