Я пытаюсь установить обратный туннель SSH от своей домашней сети. У меня есть он так, чтобы autossh соединился успешно однажды (и только однажды) на перезагрузку. Я передаю удаленные порты своей локальной машине так, чтобы я мог соединиться когда далеко от дома. Я нахожусь в спутниковом Интернете и нахожусь позади брандмауэра двойного NAT, таким образом соединение непосредственно с моей домашней сетью является обреченным на неудачу.
Кажется, что порты на удаленной машине оставляют в открытом состоянии, когда соединение SSH выбывает в первый раз. Любые последующие попытки повторно подключить сбой, потому что порты уже используются. Я не мог запустить вещи снова, пока я не перезагрузил сервер, который является меньше, чем идеал.
Не имели никакой удачи с Google, или поиски форума так надеюсь, что кто-то здесь мог бы указать на меня в правильном направлении.
Я настроил сервер и локальную машину после руководства здесь:
http://linuxaria.com/howto/permanent-ssh-tunnels-with-autossh
Мой сценарий подключения извлечен ниже и включен в/etc/rc.local:
su -s /bin/sh autossh -c 'autossh -M 20000 -f -i /home/autossh/.ssh/id_rsa -N -R 99999:localhost:22 autossh@remotehost.com'
Аплодисменты и заранее спасибо за любую справку!
Corey
Хорошо... Частичное решение, tho, я все еще не уверен, что оно полностью разрешено. Я внес следующие изменения, и вещи, по крайней мере, все еще соединены за ночь. Я не уверен, снова соединится ли это успешно, после того как сессия завершается как бы то ни было.
Добавленный следующие строки к удаленному серверу sshd_config:
ClientAliveInterval 600
ClientAliveCountMax 12
Измененный rc.local сценарий для запуска autossh следующим образом (добавленные опции ServerAliveInterval и ServerAliveCountMax):
su -s /bin/sh autossh -c 'autossh -M 20000 -f -i /home/autossh/.ssh/id_rsa -o "ServerAliveInterval 120" -o "ServerAliveCountMax 5" -N -R 99999:localhost:22 autossh@remotehost.com'
я также нашел, что соединение использования GatewayPort было ненадежно. Вместо:
user@machine1 $ ssh -p 99999 remotehost.com
я вхожу в удаленный хост непосредственно и затем соединяюсь с портом 99999 на localhost, крыле:
user@machine1 $ ssh remotehost.com
user@remotehost $ ssh -p 99999 localhost
Это, кажется, более надежно. Порт шлюза имеет тенденцию зависать. Но если я соединяюсь на двух шагах как выше, я все еще прохожу. Отправит назад с обновлениями, после того как у меня есть шанс видеть, снова соединяется ли он после того, как сессия отбрасывает.
, Надо надеяться, это могло бы помочь другим!
Corey