LINUX.ORG.RU

SSH тунель

 , ,


0

1

Здравствуйте, есть VPS на который установлена система мониторинга и статистики, она в целях безопасности биндится на 127.0.0.1:порт. Хочу получить к ней доступ со своего компьютера (NignX использовать не могу, через Apache2 proxy тоже не получается).Было решено использовать SSH тунель, который пытаюсь поднять с компьютера через Putty, подключение поднимается, но туннель, похоже нет. Потому что по localhost:я не вижу веб морды системы статистики. Что делаю не так? Как можно сделать правильно? В документации по этой системе есть такая команда - ssh -L 19998:127.0.0.1:19999 remote.netdata.ip - я так понимаю эта команда для выполнения на сервере? А мне надо наоборот.


Команда вида:

ssh -N -L 22333:localhost:44555 user@host

подключается к хосту host и создает туннель от локального компьютера и локального порта 22333 к хосту localhost и порту 44555 относительно хоста host. Команда правильная, я ее фиг знает сколько использовал.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)

Грубо говоря, некий внешний клиент должен заходить на открытый порт и переадресовываться на другой порт от имени localhost. Очевидно, из соображений секретности, это должен делать именно комп. То бишь, последовательность именно такова: сначала заходите по ssh на комп, потом, уже на этом самом компе даёте команду, которую вы написали. Зачем вам надо «наоборот»?

fat-II
()

ssh -L 19998:127.0.0.1:19999 remote.netdata.ip - я так понимаю эта команда для выполнения на сервере?

Нет, эта команда выполняется на клиенте. И пока ssh работает - будет туннель localhost:19998 на 127.0.0.1:19999 на сервере. (А именно это вам и надо).

А мне надо наоборот.

Наоборот, это ssh -R

sigurd ★★★★★
()

команда

ssh  -L $LOCALPORT:127.0.0.1:$REMOTEPORT $USR@$HOST 

выполняется на клиенте.

приложение, которое должно подключиться к сервису надо запускать на своей машине подключая к $LOCALPORT. Будет как будто запустил на хосте с подключением к $REMOTEPORT.

При подключении через Putty в Connection->SSH->Tunnel должна быть строка вроде

L3333   127.0.0.1:3306

где 3333 - локальный порт

3306- порт на хосте

Psilocybe ★★★★
()
Ответ на: комментарий от Erhogg

ssh: Could not resolve hostname - вот это пишет.

Так проброс порта делают, когда есть доступ по ssh к удаленной машине. У тебя есть такой доступ? На удаленной машине запущен сервер ssh?

ssh: Could not resolve hostname - вот это пишет.

Проверяй сеть, ping vps.hostname
Наконец, посмотри цифровой адрес и его используй вместо имени хоста.

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от Erhogg

Конечно, коннект есть по SSH. И пинг тоже. Только что подключился к нему просто по SSH.

Какой командой? И если добавить в эту команду опцию -L ..., то почему вдруг пропадает адрес?

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от sigurd

Я понял в чем проблема: адрес не жрет, потому что я добавляю через двоеточие туда порт. А если без него коннект идет, но не проходит, потому что порт-то нестандартный. Сам порт SSH. Что делать?

Erhogg
() автор топика
Ответ на: комментарий от Erhogg

Как в итоге получилось?

Но, теперь по localhost доступна панель всегда. Как закрыть доступ?

Завершить ssh, который ты запустил для создания туннеля?

rumgot ★★★★★
()
Ответ на: комментарий от Erhogg

А где у вас там вход на ваш компьютер? Это же просто переадресация входящих соединений. Впрочем, и вход с сервера на ваш компьютер не проблема, если надо.

fat-II
()