SSH 反向隧道 rdness:一条额外的隧道

SSH 反向隧道 rdness:一条额外的隧道

我有三个设备schoolhomeportable。我在这里将它们称为 S、H 和 P。我希望能够使用 P 来运行命令并通过互联网获取 H 上的文件,但home没有公共 IP。

现在,S 确实有一个公共 IP、ssh 和一个公开的端口 22。我可以从任何地方通过隧道连接到 S。然而,当我跑步时

ssh -R 53469:localhost:22 school

在家(53469只是一个随机未使用的端口),然后

ssh school -p 53469

我无法连接:学校仅公开端口 22。

所以我最终做的是某种双重隧道,利用学校作为某种集合点。在家里,我运行了上面的反向隧道命令。然后我使用便携式隧道到学校,然后通过隧道回家localhost:53469。然后奇怪的事情发生了:

运行后(便携式)

ssh school -p 22

进而

ssh localhost -p 53469

在隧道会议中,我最终回到了学校。

第一次按Ctrl+D可以让我回到家(这是我想去的地方)。第二次又送我去学校。第三次让我回到便携式。

这里发生了什么?我是否正在运行某种脚本来让我第三次加时赛?

这是lsb_release信息:

me@home:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.10
Release:    16.10
Codename:   yakkety

学校

me@school:~>lsb_release -a
LSB Version:    core-5.0-amd64:core-5.0-noarch:desktop-5.0-amd64:desktop-5.0-noarch:imaging-5.0-amd64:imaging-5.0-noarch:languages-5.0-amd64:languages-5.0-noarch
Distributor ID: openSUSE project
Description:    openSUSE Leap 42.3
Release:    42.3
Codename:   n/a

相关内容