SSH 远程是否可以通过连接到它的 SSH 客户端解析网络请求 - 允许客户端与远程共享​​ VPN?

SSH 远程是否可以通过连接到它的 SSH 客户端解析网络请求 - 允许客户端与远程共享​​ VPN?

我有一台运行 Linux 的远程机器,我通过 SSH 进入并用于开发目的(编译、语言服务器、运行等)。

我的本地计算机本质上是一个瘦客户端。我使用远程开发工具来混合环境,并使用 -L 手动转发所需的端口。

某些服务需要活动的 VPN 连接才能访问,但我尚未在遥控器上配置 VPN 连接。

有没有办法让我的远程机器通过本地机器的网络解析网络请求 - 从而当我通过 SSH 连接时与它共享 VPN?

答案1

一般来说,不是。

-R您可以使用(的反面)转发单个服务-L,以便远程工具连接到例如“localhost:12345”并通过本地客户端转发。

OpenSSH 有一个“IP 隧道”扩展,-w可以在任一方向使用,例如,您通过服务器上的 tun0 配置默认路由,以便所有数据包都通过客户端 - 但这需要两端都有 OpenSSH(没有 PuTTY 或其他客户端);它或多或少需要两端都有 root 访问权限(用于 tun 配置);它需要两端都有“tun”支持(这排除了 Windows 上的 ssh.exe);并且路由配置是全局的(适用于远程运行的所有内容 - 而不仅仅是那一个会话),因此您必须非常小心地路由数据包,以免导致隧道尝试无限地自行通过(并使服务器无法访问)。所以我真的不推荐这种方法。

答案2

您可以使用反向转发 TCP 端口-R(与之前的操作相同-L,但方向相反)。这样,远程连接到本地主机(或者参数中使用的任何地址-R,如果在 SSH 服务器中启用了设置监听地址)将通过隧道访问某些定义的资源,并且在访问的资源上将显示为来自本地。

您还可以使用 通过 SSH 隧道设置真正的 VPN -w。这需要能够tun本地和远程配置接口,添加地址和可能的路由。

相关内容