Туннель Always-On-SSH

У нас есть полевой офис, который использует коммутируемое соединение с непубличным IP-адресом, предоставленным провайдером.

Dialin осуществляется GNOME-PPP.

Как мы можем держать SSH-соединение (с туннелем) открытым для сервера в Интернете, пока компьютер подключен?

1 ответ

Решение

autossh это инструмент (включенный в репозитории Ubuntu), который может автоматически переподключаться к сеансу SSH. Он может проверить через отдельный канал, если данные все еще передаются должным образом, и повторно подключить туннель:

Вот хороший How-To:

http://pierre.linux.edu/2010/05/setting-up-a-permanent-ssh-tunnel-between-2-servers/

Это можно сочетать с daemon инструмент, чтобы работать в фоновом режиме.

Комплексное решение:

aptitude install autossh daemon

В /usr/local/bin/autossh

#!/bin/bash

AUTOSSH_POLL=600
AUTOSSH_PORT=20000
AUTOSSH_GATETIME=30
AUTOSSH_LOGFILE=autossh.log
AUTOSSH_DEBUG=yes
AUTOSSH_PATH=/usr/bin/ssh

HOST=example.com
USER=tunnel

autossh -M $AUTOSSH_PORT -N -L ... -R ... $USER@$HOST 

Переадресация портов должна быть добавлена ​​вместо "...". На самом деле все после -M $AUTOSSH_PORT параметры SSH.

И в начале /etc/rc.local добавлять

daemon -n autossh /usr/local/bin/tunnel 
Другие вопросы по тегам