Я могу получить прямой доступ 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, но я предполагаю, что * это то, что вы хотите.