从 C 到 B 反向 SSH 两次,从 A 到 B 反向 SSH 两次,从 A 到 C

从 C 到 B 反向 SSH 两次,从 A 到 B 反向 SSH 两次,从 A 到 C

我的主人:

  • A - Windows WSL(无法在 Windows 中安装 ssh,只能在 WSL 中安装)
  • B - ubuntu 16.04,带有 sudo
  • C - redhat 7,无需 sudo 或 root

然后我可以访问:

  • 我可以从 A 访问 B
  • 我可以从C访问B
  • 我无法从 A 或 B 访问 C
  • 我无法从 A、B、C 访问 A

我创建了从 C 到 B 的反向隧道:

ssh -f -N -T -R 0.0.0.0:2022:C:22 user@B

从 A 到 B 的反向隧道:

ssh -fNT -R 0.0.0.0:2023:A:22 user@B

那么如何从A直接连接到C呢?

答案1

您需要一条从 C 到 B 的反向隧道:

ssh -f -N -T -R 0.0.0.0:2022:C:22 user@B

从 A 到 B 的正向隧道:

ssh -fNT -L 0.0.0.0:2022:127.0.0.1:2022 user@B

然后你可以从 A 连接

ssh -p 2022 [email protected]

如果防火墙规则没有阻止,你也可以使用

ssh -p 2022 user@B

相关内容