TightVNC 和 SSH

TightVNC 和 SSH

假设一下状态(imageshack 图片)网络。我想要在 VNC 客户端和 VNC 服务器之间建立 SSH 隧道连接。

在此处输入图片描述

PC1 和 PC2 都运行 TightVNC 服务器和 SSH 服务器,并允许端口 22。PC 客户端想要使用以下方式连接到 PC1:TightVNC Java 查看器。需要在 TightVNC Java 查看器中输入哪些地址(远程主机?端口?SSH 服务器?)需要对路由器进行哪些配置才能转发到正确的 PC?感谢您的回答。

答案1

首先,您必须在路由器上设置端口转发。让我们以 ssh 为例来演示一下(其他所有协议的工作方式相同)。

如果您只有一台机器,您可以简单地转发端口22。由于您只能将端口转发到一台机器,因此这对您来说不是一个选择。为您的机器设置两个端口号。在这种情况下,我将使用1002220022。现在您必须在路由器上设置两个转发:

  • 一个从外部端口10022到内部 IP 和端口10.0.0.12:22
  • 一个从外部端口20022到内部 IP 和端口10.0.0.14:22

这意味着端口上的每个外部请求10022都会转到22PC1 的端口 (ssh)。

现在,您需要从外部 PC 连接到两个 IP 的 ssh 连接88.65.41.128。请注意,这些连接不能在默认端口上工作22,但可以在10022和上工作20033

所有其他协议/服务也可以这样做。只需将端口替换22为该服务的端口即可。

或者,您可以通过 ssh 隧道传输每项服务。我不知道 tighVNC 端口,但我们假设它是9000。您可以使用以下命令设置到 PC1 的隧道:

ssh -L 9001:localhost:9000 [email protected]:10022

这将通过 ssh 连接到 PC1,并将地址localhost:9000(从 PC1 的角度来看)转发到您执行此操作的机器的端口 9001。我选择 9001,以便您可以同时从 PC2 转发 tightVNC:

ssh -L 9002:localhost:9000 [email protected]:20022

现在您可以使用地址localhost:9001和从远程机器连接tightVNC localhost:9002

相关内容