22.08.2014 22:01
twix
 
В общем, такая ситуация:
Есть компутер (домашний бук) под управлением Elementary OS Luna (Ubuntu 12.04), находящийся дома за роутером, доступа к которому у меня нет. Помимо этого роутер не имеет постоянного ("белого") адреса, и найти его снаружи, чтобы подключиться - не "два байта переслать". Также имеется VPS под управлением Ubuntu 13.10, полностью мне подвластный, с фиксированным IP.
Задача: создать автоматически (пере-)подключаемое SSH соединение от бука к VPS, чтобы при подключении на определённый порт VPS-сервера я получал бы доступ к ноутбуку.
Знаю, что сделать это на лине не просто, а очень просто. Однако, вопрос гуглу/яндексу/спутнику (нужное подчернкуть) я, видимо, не совсем грамотный задаю, и первые n-цать страниц результатов рассказывают ламерам про порт форвардинг на роутере. Отсюда и прошу помощи. В частности, и в первую очередь, у Олега.

Спасибо.

ЗЫЖ Ну, и вторым этапом было бы неплохо научиться через такой SSH-прокси(тоннель/паром/дыру) прокидывать VNC. Но это потом...
22.08.2014 22:13
baggio
 
Моё имхо..

1. Перенаправить порт SSH через iptables ты сможешь только с белого IP на белый IP - поэтому это не наш вариант...
2. Можно поднять на VDS VPN сервак pptp\l2tp\ipsec\openvpn нужное подчеркнуть, с бука настроить автоматическое подключение по VPN к VDS... сам цепляешься к VDS по VPN и оказываешься с ноутом в одной подсети...
22.08.2014 22:16
baggio
 

Перенаправление TCP-портов (port forwarding)
22.08.2014 22:24
twix
 
Цитата:
baggio [url="http://xgu.ru/wiki/SSH#Перенаправление TCP-портов (port forwarding)[/url]
Перенаправление TCP-портов (port forwarding)
Вот именно это и нужно. Спасибо.

А с VPN'ами заморачиваться нет желания. Хз как оно будет на домашнем буке с несколькими соединениями одновременно.

Апдейт: Не совсем то. Нужно в обратную от описанной сторону. Чтобы, например, "ssh -L 23:twixed.org:23" создавало бы туннельное подключение от бука до VPS, а форвардинг 23-го порта на 22-й на локальной машине позволял бы подключаться от VPS до бука через SSH. На VPS, соответственно, перенаправить, например, 1022 на 23 порт, чтобы подключение к порту 1023 на VPS прозрачно коннектило к SSH бука.
Как-то так:
22.08.2014 22:51
OlegON
 
Я с телефона на дебильной связи, уже потерял пару раз написанное... В общем рекомендация смотреть на ipsec. Ssh для костылей и в исключительных случаях. Тут я пока такого не вижу. Хорошо бы описать задачу поточнее, зачем нужен бук. Пробросы через ssh достаточно тормозные, например. А так DNAT на VPS на порт обратного проброса SSH.
22.08.2014 23:02
OlegON
 
Судя по ману, который у меня в телефоне, тебе нужна опция -R
22.08.2014 23:21
twix
 
Цитата:
OlegON Хорошо бы описать задачу поточнее, зачем нужен бук.
Задачи могут быть совершенно разные - начиная с тупой проверки/копирования нужных файлов до отладки скриптов или сервисов (как внутренних, так и внешних) в разных условиях.
Например, вчера только Света просила посмотреть - сохранил ли я фоточки с фотапа на свой компутер, и можно ли ей их уже с рабочего стола смахнуть в корзину. TeamViewer как-то совсем не работает. Показывает экран логина, но после авторизации - чОрный экран, как ни крути.
Но гуя нужна не всегда. Чтобы проверить, доступен ли будет поднятый у нас FTP клиенту, мне надо погонять его в активном/пассивном режиме в условиях работы за роутером. Из доступного мне инструментария в этом плане - только мой бук, потому как рабочие серверы (и клиентские машины в офисе, соответственно, тоже) друг с другом проблем не имеют, а мой VPS открыт всем. На прошлой неделе с этой бедой бодался. В итоге, конечно, оказалось, что самописный софт у них кривоват, но варианты пришлось прощупывать все.

Цитата:
OlegON Пробросы через ssh достаточно тормозные, например.
Не критично.
23.08.2014 00:11
vdm
 
Похожую задачу решал для точки, работающей через 3G-модем, т.е. адрес у нее динамический и никакие dyndns-сервисы не помогут.
В дополнение к vpn повесил еще ssh-туннель. Просто поднять туннель оказалось недостаточно - он периодически подвисал. Или после смены IP, или просто после разрыва.
Пришлось сочинить некий скрипт-сервис, который проверяет работоспособность туннеля и передергивает его. Так что костыль тот еще.

Да, см. man ssh по часть -R
Серверный 9222 пробрасывается на локальный 22
ssh -f -N -i ~/.ssh/id_dsa.key -R 9222:localhost:22 ${RUSER}@${RSERVER}

В конфиге серверного sshd нужно прописать GatewayPorts.
23.08.2014 08:36
OlegON
 
Да, кстати, KeepAlive на клиенте поставь поменьше, чтобы при обрыве побыстрее отваливалось. Недавно тут было, как переподключение устроить и сессии вкладывать. Это тебе. Но мониторинг с переподключением в любом случае нужен. Самое правильное, я думаю, открыть сессией еще один порт на vps и его телнетить с бука через тоннель. Не уверен, какой там таймаут. Curl можно, там таймаут задать.
Часовой пояс GMT +3, время: 11:00.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.