我希望能够从任何地方直接连接到没有公共IP地址的嵌入式linux (称为C)。
C可以设置到服务器的连接(使用SSH -R),如果我将SSH连接到服务器,则可以将SSH连接到嵌入式linux中。
但是,我希望能够从客户机到C进行SSH,而不必先将SSH放到服务器中。(我无法从C到客户端建立与SSH -R的连接)
如果有,这有可能吗?
发布于 2017-05-25 15:24:21
你可以很容易地做到这一点。一种方法是使用SSH的远程端口转发,其中C命令服务器将一个端口转发回它,如下所示:
ssh -R 2222:localhost:22 server从C运行时,此命令将告诉服务器接收到端口2222的任何连接,并在端口22上将它们转发给C。
同样,您可以通过防火墙规则在服务器上设置端口转发。
发布于 2017-05-26 08:43:07
如果您想要能够连接到转发的端口,您需要四件事:
-R的第一个参数,否则它将只侦听localhost,这显然是无法从服务器外部访问的。GatewayPorts配置服务器,这将允许从外部访问转发的端口-g开关基本上可以从客户端获得相同的2222。命令可以如下所示:
ssh -g -R server:2222:localhost:22 serverhttps://unix.stackexchange.com/questions/367209
复制相似问题