无需打开防火墙端口即可访问SSH

我有一台运行Linux(Debian)的设备,可以远程访问互联网。

我无法修改远程位置的防火墙,并且公共IP地址是dynamic的。

我如何从机器的局域网外部通过SSH访问本机,而不用修改防火墙来将端口22端口转发到本机?

注意:我有一个面向networking的云服务器提供静态IP地址,远程设备每5秒钟联系一次该服务器以检索configuration数据。 如果需要,我可以将一个命令发送到设备来启动某种反向SSH隧道,但我不知道如何从服务器和/或本地桌面使用该隧道。

有能力从云服务器或本地桌面SFTP文件到设备将是一个巨大的额外的奖金。

感谢您提供任何build议或build议如何完成这一点!

远程机器是A您的云服务器是B您的台式机/笔记本电脑是C.

A启动一个到B的反向隧道的SSH会话。这将在B的本地主机上打开一个端口,指向机器A上的端口22.所有的通信都通过这个通道。 检查ssh客户端的-R选项。

从C中你ssh到B,然后ssh到本地主机上的端口,这是A启动的SSH隧道的B端。