我可以直接Host A ( 10.100.64.112)
从 my访问,HomePC
但不能直接访问Host B (172.88.3.31)
. 要访问Host B
,我需要先 ssh 到Host A
,然后再到Host B
.
要直接访问Host B
,我尝试使用本地端口转发和以下命令设置 SSH 隧道Host A
Host A # ssh [email protected] -L 4420:172.88.3.31:22
现在我试图验证隧道是否正常工作
Host A # ssh 10.100.64.112 -p 4420
[email protected]'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
直接连接。
您知道您在示例中输入了 4122 吗?
你应该试试
星号表示您侦听所有地址,而不是本地主机,您无法从其他机器连接到本地主机。
您也可以绑定到特定的 IP,但我的猜测是 * 是您想要的。
马丁的回答应该有效。
-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