SSH 本地端口转发仅从 localhost 工作

Zam*_*ues 3 linux ssh-tunnel rhel6

我可以直接Host A ( 10.100.64.112)从 my访问,HomePC 但不能直接访问Host B (172.88.3.31). 要访问Host B,我需要先 sshHost AHost B.

为了直接访问Host B,我尝试使用以下命令使用本地端口转发来设置 SSH 隧道Host A

 Host A # ssh  bzaman@10.100.64.112 -L 4420:172.88.3.31:22
Run Code Online (Sandbox Code Playgroud)

现在我尝试验证隧道是否正常工作

 Host A # ssh 10.100.64.112 -p 4420
 bzaman@10.100.64.1121's password:
Run Code Online (Sandbox Code Playgroud)

它工作正常,我需要 Host B

但是如果我从我的 直接访问隧道HOmePC,它不起作用

    $  ssh 10.100.64.112 -p 4122
    ssh: connect to host 10.100.64.112 port 4122: Connection refused
Run Code Online (Sandbox Code Playgroud)

检查时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
Run Code Online (Sandbox Code Playgroud)

请提出建议,以便我Host B直接连接。

Mar*_*tin 6

你知道你在例子中输入了 4122 吗?

你应该试试

-L *:4420:172.88.3.31:22
Run Code Online (Sandbox Code Playgroud)

星号表示您监听所有地址,而不是本地主机,您无法从其他机器连接到本地主机。

你也可以绑定到一个特定的 IP,但我猜 * 就是你想要的。