场景:
- 我有一台 Linux 笔记本电脑(
linuxlaptop
) - 我开发了一个软件,可以访问
https://ws.behind-vpn.com
Cisco AnyConnect VPN 后面的 Web 服务。 - 我无法从 Linux 笔记本电脑连接到 VPN(VPN 证书流程仅限于 Windows/IE)
因此,在进行集成测试时,我做了以下工作:
- 启动 Windows VM (
windowsvm
) - 从 VM 连接 VPN
- 在虚拟机上测试软件
- 启动 Windows VM (
我现在想简化一下集成测试流程。我希望能够直接从我的 Linux 笔记本电脑连接到 Web 服务。
我的问题:
- 我觉得使用 SSH 端口转发应该可以实现这一点。是吗?
- 如果可能的话,有人可以解释一下如何配置 ssh 端口转发来实现这一点吗?
- 我是否需要 SSH 服务器来
windowsvm
执行此操作?如果需要,Windows 上哪个 SSH 服务器比较好?
答案1
如果你所做的只是https(端口 443),那么是的。
在您的 Linux 笔记本电脑上运行 sshd,然后使用 putty(或其他 ssh 客户端)从防火墙范围内的任何主机连接到它。此主机需要直接访问您正在测试的站点。它甚至可以是服务器本身。
在 Putty 中,配置“远程”隧道。选择一个随机源端口(选择一个大于 1024 的端口,并确保它是不是正在笔记本电脑上使用的)并将目的地设置为<YourTestingServerIP>:443
。
一旦 ssh 连接并且隧道启动,https://localhost:<RandomLocalPort>/blah/blah/blah.html
您就可以在笔记本电脑上浏览该地址。