SSH 本地端口转发仅从本地主机运行

SSH 本地端口转发仅从本地主机运行

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  [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直接连接。

答案1

您是否知道您在示例中输入了 4122?

你应该试试

-L *:4420:172.88.3.31:22

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

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

答案2

  • 马丁的回答应该管用。

    • -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 允许远程主机连接到本地转发端口。如果在多路复用连接上使用,则必须在主进程上指定此选项。

相关内容