Назад | Перейти на главную страницу

Перенаправление локального порта SSH, работающее только с localhost

Я могу получить прямой доступ Host A ( 10.100.64.112) от моего HomePC но не может получить прямой доступ Host B (172.88.3.31) . Чтобы получить доступ Host B , Мне нужно сначала ssh на Host A а затем в Host B .

Для прямого доступа Host B , Я попытался настроить SSH-туннель с использованием переадресации локальных портов с помощью следующей команды на Host A

 Host A # ssh  bzaman@10.100.64.112 -L 4420:172.88.3.31:22

Теперь я попытался проверить, работает туннель или нет

 Host A # ssh 10.100.64.112 -p 4420
 bzaman@10.100.64.1121's password:

Он отлично работает, и мне нужно Host B

Но если я получу прямой доступ к туннелю из моего HOmePC , это не работает

    $  ssh 10.100.64.112 -p 4122
    ssh: connect to host 10.100.64.112 port 4122: Connection refused

При проверке с netstat , он показывает следующее

$ sudo netstat -an | grep 4420
tcp        0      0 127.0.0.1:4420              0.0.0.0:*                   LISTEN
tcp        0      0 ::1:4420                    :::*                        LISTEN

Пожалуйста, предложите мне подключиться к Host B прямо.

  • Ответ Мартина должно сработать.

    • -L *:4420:172.88.3.31:22
    • или -L 0.0.0.0:4420:172.88.3.31:22
    • или -L [specific IP]:4420:172.88.3.31:22
  • По-другому:

    • -L -g 4420:172.88.3.31:22
    • Ссылка из man ssh

      -g Разрешает удаленным хостам подключаться к локальным перенаправленным портам. Если используется мультиплексное соединение, этот параметр должен быть указан в главном процессе.

Вы знаете, что в примере вы набираете 4122?

Ты должен попытаться

-L *:4420:172.88.3.31:22

Звездочка означает, что вы слушаете все адреса, а не localhost, к которому вы не можете подключиться с других машин.

Вы также можете привязаться к определенному IP, но я предполагаю, что * это то, что вы хотите.