autossh -ND при загрузке Ubuntu

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

Я попробовал решения, предложенные в следующих ссылках, но ни одно из них не помогло мне:

  1. Как запустить SSH-туннель с выскочкой
  2. Как запустить скрипт при запуске компьютера с Ubuntu?
  3. Autossh с Ubuntu Upstart

Я сделал то, что был упомянут в тех постах. Команда autossh должна открыть порт (в моем случае 9090), чтобы я мог туннелировать свой трафик. После применения каждого из этих методов я перезапустил ПК и после перезагрузки запустил nmap, чтобы посмотреть, прослушивает ли конкретный порт или нет. К сожалению, в каждом случае порт все еще был закрыт, поэтому мне приходится вручную вводить команду на терминале каждый раз, когда я перезагружаю свой компьютер.

1113 Кто-нибудь может мне помочь? Обратите внимание, что удаленный сервер и моя локальная система работают под управлением Ubuntu 14.04, а в локальной системе нет установленного графического интерфейса.

5
задан 13 April 2017 в 15:14

1 ответ

Мне удержали этот небольшой сценарий ~/bin/infinite_ssh(1):

#! /bin/bash -x
#
while :; do 
         ssh -R 2222:localhost:22 remoteserver sleep 86400
         sleep 10
done

это соединяется с remoteserver и создает отсталый туннель так, чтобы в удаленном сервере я мог ssh мой рабочий стол при помощи ssh -p 2222 localhost. Ваше приложение может, очевидно, варьироваться. remoteserver определяется в ~/ssh/config так, чтобы Вы могли войти в систему без пароля и имели KeepAlive on опция.

Затем можно назвать его от /etc/rc.local с

su -l youruser -c /home/youruser/bin/infinite_ssh &

так, чтобы это запустилось как Ваш пользователь во время начальной загрузки в фоне.


Сноски:

(1) очевидно, необходимо дать разрешение выполнения сценария... chmod a+x ~/bin/infinite_ssh.

3
ответ дан 14 April 2017 в 01:14

Другие вопросы по тегам:

Похожие вопросы: