SSH - 拦截

SSH - 拦截

真的希望这里有人能指出我正确的方向,

预期结果:成功通过 SSH 连接到远程设备。

挑战/背景故事:我们在全国偏远地区都有设备,这些设备没有固定的公共 IP 地址(使用 GSM 作为其互联网突破)这些设备能够通过 SSH 进行突破。

我的想法是,关于维护这些设备,(如果可能的话)使用云中的服务器作为中间人,让这些设备创建某种到我们的中间人服务器的反向隧道,然后让我们作为管理员拦截它或进行其他操作那个效果。

再次总结一下,设备不能直接通过 ssh 连接,但可以突破。目标是能够从办公室访问他们的终端。一直在关注 mitmssh 但没有在这方面取得进展。服务器A(没有固定地址,无法直接通过SSH连接,但有突破)

服务器B(标准服务器,可用作中间人

服务器 C(美国管理员)

尝试了类似“ssh user@serverA -R serverB:12345:ServerA:22”的内容

这会创建隧道,但很难抓住该 SSH 连接。

答案1

在服务器 A 上,您应该自动运行(例如作为 systemd 服务,或任何您可以在那里使用的东西),例如

ssh userB@serverB -R serverC:1234:serverA:22

作为userA,其中服务器A上的用户A的公钥位于authorized_keys服务器B上的用户B的文件中。

为了尝试这一点,我将使用服务器 A,可以轻松地通过其他方式进行本地访问,并在将其安装为服务之前直接运行该命令。

然后在服务器C上,你可以这样做

ssh userX@serverB -p 1234

其中 userX 是服务器 A 上的某个用户。

如果某些功能不起作用,请使用(多个)-v详细标志ssh进行调试。如有必要,您还可以将服务器 B 和服务器 A 上的 ssh 守护进程置于详细模式。

如果此验证因地址经过 ​​NAT 等原因而不起作用,您还可以最初忽略serverC突破连接,允许(暂时)任何人访问。

相关内容