如何通过 ssh 进入连接到 VPN 的工作笔记本电脑

How to ssh into a work laptop connected to a VPN

我还没有找到适合我情况的确切参数的问题(如果我错过了,请原谅)。

在过去的一年里,远程工作不过是一种祝福,它对我来说是完美的设置,而且我的工作效率直线上升。我仍然面临的一个缺陷是在访问需要连接到工作网络的工作应用程序和机器(通过 ssh)时。

为此,我使用我的工作笔记本电脑和各种 VPN 连接(使用 F5 Big IP),而我的大部分开发 work/meetings/emailing/etc 都在我舒适的个人桌面上进行。在工作笔记本电脑上工作是一件痛苦的事情,它有一个很小的、低分辨率的 TNT 12 英寸面板,而我的个人 PC 有两个 27 英寸显示器。

我非常希望,在个人 PC 上,能够使用插入笔记本电脑上的 ssh 隧道的专用浏览器 运行 来访问仅限工作网络的应用程序并通过 ssh 进入工作机器.

两台机器都是 运行 Windows 10,这对我的个人电脑来说很好,因为我所有的开发工作都是通过 WSL2/Docker 进行的,但在工作笔记本电脑上真的很痛苦,因为它是WSL2 之前的版本。

两台电脑都使用我的家庭 wifi 连接,工作笔记本电脑通过该连接连接到 VPN。

我想知道如何实现到工作笔记本电脑的 ssh 隧道,因为一旦连接到工作 VPN,笔记本电脑就不再在本地网络上可见。

我一直在考虑尝试通过以太网将它们连接起来并使用第二个连接作为对 ssh 访问的支持,但我不确定这是否有效或如何进行。

任何帮助将不胜感激,感谢您花时间阅读本文。

设置反向 SSH 隧道

简而言之,您可以使用 ssh 从笔记本电脑连接到 Windows10 Box。(您需要 运行 sshd on Windows 10)或者通过 Windows或者通过 cygwin 或虚拟机。完成该工作后,您可以使用 OpenSSH“反向隧道”功能,该功能在您的 Windows Box 上绑定一个端口,当您连接到它时会打开与笔记本电脑的连接。

此示例使用端口 22,但您可以使用任何基于 TCP 的端口。 (例如 3389 是 RDP)

假设目标 IP 是您要访问的 192.168.20.55 笔记本电脑)。 您想要从 Windows10 桌面访问 IP 138.47.99.99。 目的地 (192.168.20.55) <- |NAT| <- 来源 (138.47.99.99)

  1. SSH 从目标到源(使用 public IP)使用下面的命令:

    ssh -R 19999:localhost:22 sourceuser@138.47.99.99

    • 端口 19999 可以是任何未使用的端口。
  2. 现在您可以通过 SSH 隧道从源 SSH 到目标: ssh localhost -p 19999

  3. 第三方服务器也可以通过Destination (138.47.99.99)访问192.168.20.55。 目的地 (192.168.20.55) <- |NAT| <- 来源 (138.47.99.99) <- Bob 的服务器