VNC
如何为我家里的电脑和办公室的电脑建立安全隧道,两台主机都在 NAT 后面。我确实可以ssh 访问工作中的机器(我已经建立了一个反向 ssh 隧道(使用autossh
)到具有公共 IP 的主机)。所有涉及的机器都在运行 Linux。我需要 X11 访问我的工作计算机,使用-X
带有 ssh 的标志可以工作,但速度太慢了。
正如@satwell 所建议的,我采取了第二个建议的解决方案:
work$ ssh -R 5900:localhost:5900 public
home$ ssh -L 5900:localhost:5900 public
答案1
VNC 在从 5900 开始的端口号上运行。(VNC:0 是端口 5900,VNC:1 是端口 5901,等等)假设您的工作机器使用:0 作为 VNC,那么您需要转发端口 5900。
如果你已经有一个可以工作的 ssh 隧道,可让你从 连接home
到work
(通过中间机器public
),那么你只需要添加-L 5900:localhost:5900
到你运行的任何 ssh 命令即可home
连接到work
。然后你就可以在localhost:0
上使用 VNC 了home
。
home
这是最安全的选择,因为您的流量在和之间是端到端加密的work
,但这意味着您有两层 SSH 隧道。
如果您愿意,也可以设置两个单独的隧道,一个在home
和之间public
,另一个在work
和之间public
。这可能稍微快一点,但请注意,此替代方案的安全性取决于 的安全性。在此版本中,任何可以向发送public
流量的人都可以连接到 上的端口 5900。并且可以检查您的所有 VNC 流量。localhost
public
work
root
public
work$ ssh -R 5900:localhost:5900 public
home$ ssh -L 5900:localhost:5900 public
您可以选择使用autossh
其中一个隧道或者同时使用两个隧道。