2

У меня есть доступ в Интернет на моем ПК через прокси-сервер через SSH, поэтому каждый раз, когда мне нужно выполнить ssh -L PORT:SERVER:PORT LOGIN@SERVER а затем ввести пароль. После каждого сбоя в сети или повторного подключения эта команда должна быть выполнена снова. Мне это надоело, и я ищу способ сделать это автоматически: сначала запустите это после загрузки (это не проблема - поместите эту команду в какой-то файл инициализации и все), а затем снова запустите ее (если возможно, затем введите пароль) при каждом сбое сети. Возможно ли это и как?

ОС Linux (Debian)

2 ответа2

1

Вы можете использовать autossh, использовать команду autossh для мониторинга соединения и при необходимости переподключаться. (убедитесь, что вы заменили ssh на autossh)

autossh -L PORT:SERVER:PORT LOGIN@SERVER

Вот страница руководства Linux: http://linux.die.net/man/1/autossh

0

Конечно, если вы используете SSH, я настоятельно рекомендую вам использовать аутентификацию с открытым ключом, чтобы не вводить пароль каждый раз.

Вы можете использовать ключ без пароля, который будет достаточно безопасным, если вы ограничите этот ключ на удаленном сервере (с помощью $ HOME/.ssh/authorized_keys), так что кража вашего компьютера не позволит никому получить полный доступ к вашему прокси-серверу.

Вы можете запустить этот autossh из /etc/network/if-up.d/ и убить его из /etc/network/if-down.d/. Если вы запускаете его всегда, независимо от состояния соединения, вам нужно будет экспортировать AUTOSSH_GATETIME = 0, чтобы первый сбой не помешал autossh продолжать попытки.

Интересно, почему такая обычная настройка недоступна в NetworkManager.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .