如何使SSH远程端口转发以侦听0.0.0.0

cer*_*cem 4 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

现在,我可以使用以下命令连接user @ machine_A:

ssh user @ machine_B -p 2223

当然,本地端口转发是一种解决方法。有没有更清晰的方法可以做到这一点?

Ant*_*nov 12

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

  • `-o GatewayPorts=true` 似乎不适用于 `-R` 选项(远程监听) (10认同)
  • “-o”标志对我不起作用。上面的问题有效。 (2认同)

Lin*_*lle 6

GatewayPortssshd_config中启用(默认情况下处于禁用状态)。启用它将指示sshd允许远程端口转发绑定到非环回地址。AskUbuntu对于反向端口隧道有一个类似的问题,它涉及更多细节

  • @ZombieDev 不,这个答案对于给定的问题来说是错误的。它对本地转发有效,对远程转发无效。 (3认同)