как сделать переадресацию порта ssh на виртуальную коробку, работающую на моей машине?

У меня есть две машины, скажем, A и B

на B у меня работает виртуальная машина (скажем, VB). К сожалению, VB имеет статический локальный IP-адрес (192.168.79.1), который нельзя изменить.

Я успешно могу ssh следующим образом

A -> B B -> VB

Я попытался настроить переадресацию портов ssh на B (порт 7777) для переадресации на VB (порт 22). Но почему-то этого не происходит.

Должен ли я использовать -L или -R ?

пробовал много способов..

ssh -R 7777:192.168.79.1:22 [email protected]

ssh -L 7777:192.168.79.1:22 [email protected]

ssh -L 7777:192.168.79.1:22 -l корневой локальный хост

Может быть я не правильно понял синтаксис или я что-то упустил?

Я хочу подключиться к A->VB (через какой-то порт xyz на B). Пожалуйста, помогите мне, как настроить это.

Кстати, всем машинам нужны имя пользователя и пароль. Я еще не добавлял ключи (поэтому, пожалуйста, учтите и это).

Спасибо!!


person k0n3ru    schedule 13.12.2012    source источник


Ответы (1)


Вы обращаетесь не к тому хосту для настройки туннеля. То, что вы пытаетесь сделать, на самом деле не является переадресацией портов, что обычно выполняется на уровне брандмауэра. Вместо этого вы пытаетесь настроить туннель для доступа к вашему ssh-серверу на VB через некоторый порт xyz в системе B. Для этого вам нужно подключиться по ssh к этой системе B, а не к VB. Что-то вроде этого:

ssh -L7777:192.168.79.1:22 some_user@<B>

Таким образом, пользователь «some_user» подключается по ssh к хосту B и больше ничего там не делает (<B> нужно заменить на IP-адрес или имя B), за исключением того, что он дополнительно создает «туннель ssh», который вы теперь можете использовать для подключения через:

ssh root@<B>:7777

Попробуйте, вы хорошо видите, что вы на самом деле входите в VB, потому что ваш запрос туннелируется через порт 22 на хосте VB прозрачным образом. Таким образом, B действует как туннельный ретранслятор.

Но это немного раздражает при повседневном использовании. Подумайте о том, чтобы найти решение на уровне брандмауэра, используя вместо этого iptables. Это избавляет вас от необходимости создавать ssh-туннель перед его использованием. В качестве альтернативы есть также утилиты, такие как плазмоиды и тому подобное, для более удобной настройки ssh-туннеля.

person arkascha    schedule 13.12.2012
comment
Спасибо за быстрый ответ !! - person k0n3ru; 13.12.2012
comment
Итак, это ssh-туннелирование не является последовательным? Должен ли я делать это, когда я хочу подключиться? - person k0n3ru; 13.12.2012
comment
Извините, только сейчас увидел ваш последний комментарий... Я не знаю насчет "постоянного" - он, безусловно, работает, но да, вы должны выполнять эти шаги каждый раз, когда хотите настроить туннель. Вы можете использовать туннель более одного раза, но как только он будет отключен, вам придется снова настроить ip. Это не настойчиво. Вот почему я предлагаю использовать решение на основе брандмауэра, которое перенаправляет ваше общение на постоянной основе. - person arkascha; 17.12.2012