如何使SSH远程端口转发,监听0.0.0.0

时间:2014-05-21 11:09:27

标签: ssh portforwarding

我需要进行远程端口转发,在远程计算机上侦听0.0.0.0而不是127.0.0.1。

我设法如下:

  1. user @ machine_A $ ssh -R 22:localhost:2222 user @ machine_B
  2. user @ machine_B $ ssh -L 2222:*:2223 user @ localhost
  3. 现在我可以使用此命令连接user @ machine_A:

    ssh user @ machine_B -p 2223

    当然,本地端口转发是一种解决方法。有没有更明确的方法来做到这一点?

3 个答案:

答案 0 :(得分:4)

sshd_config中启用GatewayPorts(默认情况下已禁用)。启用它将指示sshd允许远程端口转发绑定到非环回地址。 AskUbuntu有一个关于Reverse Port Tunneling that goes into more details的类似问题。

答案 1 :(得分:3)

除了现有答案外,您还可以使用ssh -o GatewayPorts=true -L 2222:0.0.0.0:2223 user@localhost

答案 2 :(得分:-1)

BBB:ssh命令应为:

BBB:~$ ssh -L 2223:*:2222 user@localhost