Надежный способ создать безопасные туннели из запуска на ноутбуке человечности?

Я ищу надежный способ запустить безопасный туннель при начальной загрузке на ноутбуке.

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

Безопасный туннель "вытянет в порте" из небезопасного приложения, связанного с localhost (в этом случае, база данных советов) на удаленном сервере к ноутбуку человечности.

Пример:

удаленный сервер: example.net

удаленный порт для передачи: 6379, связанный только с localhost из example.net

удаленный пользователь: mole@example.net

файл ключей: mole@example.net авторизовал ssh пару ключей без пароля, один ключ хранится в authorized_keys на сервере и другом в/root/moleKey.rsa на ноутбуке

Это работает в окне терминала над ноутбуком:

$ sudo su
...
# ssh -i /root/moleKey.rsa -L 16379:localhost:6379 mole@example.net -N &
# exit
$ telnet localhost 16379
(works fine)
^C

Таким образом я пытался поместить

ssh -i /root/moleKey.rsa -L 16379:localhost:6379 mole@example.net -N &

в/etc/rc.local

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

Существует ли более надежный способ запустить безопасный туннель при начальной загрузке или возможно менеджера, который перезапустит безопасный туннель по мере необходимости?

1
задан 15 April 2012 в 06:46

2 ответа

У меня были те же проблемы с тем, что /etc/rc.local не был устойчивым после перезагрузки

Upstart - хорошее решение, и это работает для меня:

# location: /etc/init/tunnel.conf 
description "persistent ssh tunnel through reboots"
author "morgan mcdaris <morganmcdaris@gmail.com>"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [016]

respawn
respawn limit 5 60

script
  exec su LOCAL_USERNAME -c "ssh -N -R 4040:localhost:22 -i /home/LOCAL_USERNAME/.ssh/id_rsa REMOTE_USERNAME@REMOTE_MACHINE_IP"
end script

post-start script
   PID=`status tunnel | egrep -oi '([0-9]+) 

вам нужно ввести свои значения для: LOCAL_USERNAME REMOTE_USERNAME REMOTE_MACHINE_IP

после этого вы можете запустить его путем перезагрузки или:

$ sudo start tunnel

сценарии после запуска дают файл pid, если ты хочешь сделать что-нибудь в мониторе

| head -n1` echo $PID > /var/run/tunnel.pid end script post-stop script rm -f /var/run/tunnel.pid end script

вам нужно ввести свои значения для: LOCAL_USERNAME REMOTE_USERNAME REMOTE_MACHINE_IP

после этого вы можете запустить его путем перезагрузки или:

$ sudo start tunnel

сценарии после запуска дают файл pid, если ты хочешь сделать что-нибудь в мониторе

0
ответ дан 15 April 2012 в 06:46

Для Ubuntu 11.10+ пакет "gstm" работает нормально, предоставляя более простой способ настройки туннеля.

см.

http://web.archive.org/web/20150318153045/http://linuxers.org/article/manage-your-ssh-tunnel-redirects- graphic-using-gnome-ssh-tunnel-manager (исходная ссылка сейчас не работает)

0
ответ дан 15 April 2012 в 06:46

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

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