远程进入防火墙后面的 Linux 工作站

Cap*_*ack 8 linux security ssh tunnel

假设我有一个 Linux 工作站在工作,在防火墙后面。因此,即使我可能在其上设置了远程访问服务器(例如最出色的 NoMachine NX 服务器),我也无法在家中访问它。

我的家庭网络碰巧有一台 Linux 服务器。是否可以从工作 ssh 到家用 Linux 机器并设置隧道,以便我在家后可以运行 NX 客户端,将其指向我的家用 Linux 机器上的某个端口(如 9000),然后转发通过隧道连接到我的工作 Linux 机器上的端口 22?我该如何设置?

小智 8

在工作中的机器上,创建一个隧道到您在家中运行 ssh 的机器:

randolf@workserver:~$ ssh -vvv randolf@myhomeserver -R 44455:localhost:22
Run Code Online (Sandbox Code Playgroud)

这会将远程端口 44455 从您的家庭服务器转发到您工作机器上的端口 22(或任何 ssh 正在侦听的端口)。

在家中,检查 44455 上是否有任何内容正在侦听

randolf@homeserver:~$ netstat -an | grep 44455
tcp        0      0 127.0.0.1:44455         0.0.0.0:*               LISTEN 
Run Code Online (Sandbox Code Playgroud)

接下来,要从家庭服务器连接到您的工作机器,请执行以下操作:

randolf@homeserver:~$ ssh localhost -p 44455
Password: ******
Run Code Online (Sandbox Code Playgroud)

从那里你应该通过你的隧道连接到你的工作机器。