networking - 如何通过 ssh 连接到连接到 VPN 的工作笔记本电脑
问题描述
我还没有找到适合我情况的确切参数的问题(如果我错过了,请原谅)。
在过去的一年里,远程工作只不过是一种祝福,它对我来说是一个完美的设置,我的工作效率也飙升了。我仍然面临的一个缺陷是在访问需要连接到工作网络的工作应用程序和机器(通过 ssh)时。
为此,我使用我的工作笔记本电脑和各种 VPN 连接(使用 F5 Big IP),而我的大部分开发工作/会议/电子邮件/等都在我舒适的个人桌面上进行。在工作笔记本电脑上工作是一件悲惨的事情,它有一个微型、低分辨率、TNT、12 英寸的面板,而我的个人电脑有两个 27 英寸的显示器。
我非常希望在个人 PC 上能够使用插入到笔记本电脑上运行的 ssh 隧道的专用浏览器来访问仅限工作网络的应用程序并通过 ssh 连接到工作机器。
两台机器都运行 Windows 10,这对我的个人电脑来说很好,因为我的所有开发工作都是通过 WSL2/Docker 进行的,但在工作笔记本电脑上真的很痛苦,因为它是 WSL2 之前的版本。
两台电脑都使用我的家庭 wifi 连接,工作笔记本电脑通过它连接到 VPN。
我想知道如何实现到工作笔记本电脑的 ssh 隧道,因为一旦连接到工作 VPN,笔记本电脑在本地网络上就不再可见。
我一直在考虑尝试通过以太网连接它们并使用第二个连接作为对 ssh 访问的支持,但我不确定这是否可行或如何去做。
任何帮助将不胜感激,感谢您花时间阅读本文。
解决方案
设置反向 SSH 隧道
简而言之,您可以使用 ssh 从笔记本电脑连接到 Windows10 Box。(您需要在 Windows 10 上运行 sshd)通过 Windows 或通过 cygwin 或虚拟机。一旦你完成了这项工作,你就可以使用 OpenSSH“反向隧道”功能,该功能在你的 Windows Box 上绑定一个端口,当你连接到它时,它会打开到你的笔记本电脑的连接。
此示例使用端口 22,但您可以使用任何基于 TCP 的端口。(例如 3389 是 RDP)
假设 Destination 的 IP 是您要访问的 192.168.20.55 笔记本电脑)。您想从 IP 138.47.99.99 的 Windows10 桌面访问。目的地 (192.168.20.55) <- |NAT| <- 来源 (138.47.99.99)
使用以下命令从目标 SSH 到源(使用公共 IP):
ssh -R 19999:localhost:22 sourceuser@138.47.99.99
- 端口 19999 可以是任何未使用的端口。
现在您可以通过 SSH 隧道从源 SSH 到目标: ssh localhost -p 19999
第三方服务器也可以通过 Destination (138.47.99.99) 访问 192.168.20.55。目的地 (192.168.20.55) <- |NAT| <- 源 (138.47.99.99) <- Bob 的服务器
推荐阅读
- c# - ASP.NET Web 应用程序在另一个项目上异步调用 Main() 方法 C#
- sql - 如何根据variationID获取每个分类帐的最新记录
- python - 如何使用 python 烧瓶从路线返回日期时间
- sql - SQL更新表依赖于另一个表
- vb.net - 如何在文本文件中搜索两个都是可选的但您必须至少需要其中一个的东西?
- vba - 为什么我的 VBA 错误处理程序中只有一个处理错误?
- mongodb - 如何优化 30M 左右大型集合的 mongo 查询?
- angular - URL参数上的Angular 6路由
- r - 无法让 Highcharter 绘制时间序列
- javascript - Vuejs2设置超时设置秒后无法执行功能