互联网上某处有一台位于 NAT 后面的机器 RemoteA。它可以连接到 ssh 服务器。
还有另一台名为 RemoteB 的计算机也连接到同一 ssh 服务器。
如果 RemoteA 通过 ssh 连接连接到 SSH 服务器,并且 RemoteB 也连接到 ssh 服务器,则 RemoteB 是否可以通过 SSHServer 通过现有连接一路隧道到 RemoteA?
目标是 RemoteB 连接到 RemoteA,但由于 NAT 而无法连接。但是,如果 RemoteA 和 RemoteB 都可以通过 ssh 连接到 SSHServer,那么隧道似乎应该是可能的?
答案1
双向隧道解决了这个问题:
RemoteA 是 sshed 使用的
ssh -N -R 8822:localhost:22 user@SSHServer
RemoteB 通过 ssh 连接到 SSHServer,然后使用:
ssh -p 8822 user@localhost
RemoteB 点位于 RemoteA 中。