寻求对 SSH 保护的 VNC 使用这些参数做什么的简单描述

寻求对 SSH 保护的 VNC 使用这些参数做什么的简单描述

此链接提供有关通过 SSH 保护 VNC 的信息。显然,VNC 的服务器调用没有改变。不安全与安全之间的区别在于使用这些参数调用 SSH,然后使用与不安全场景中不同的参数调用查看器。

ssh user@server -L 5901/127.0.0.1/5901
vncviewer 127.0.0.1:5901

阅读 SSH 手册页对该-L选项的描述一目了然。当然 127.0.0.1 是本地地址,但除此之外,请解释每个参数指示相应程序执行的操作,以及为什么在已知 5900 是 VNC 端口的情况下使用 5901。作者(粗心大意?)是否假设我在服务器端使用了 :1 参数?为什么我们要回送来实现这一点?

答案1

阅读 SSH 手册页对 -L 选项的描述一目了然。当然 127.0.0.1 是本地地址,但除此之外,请解释每个参数指示相应程序执行的操作

该选项-L 5901/127.0.0.1/5901(通常写为5901:127.0.0.1:5901)指示 SSH 客户端设置 TCP“隧道”,监听5901客户端计算机上的端口,并将所有连接转发127.0.0.1:5901服务器机器。之后,vncviewer 127.0.0.1:5901用于连接隧道的客户端。远程控制接受连接,并指示 SSH 服务器(sshd)在服务器端打开相同的连接。

  • 在客户端:虚拟专用网络查看器⇆ 127.0.0.1:5901 (远程控制

  • 在服务器上:sshd⇆ 127.0.0.1:5901 (虚拟网络服务器

如您所见,使用环回是因为虚拟专用网络查看器仅连接到远程控制,在同一台计算机上运行。同样,两者sshd虚拟网络服务器在同一台服务器上运行。


隧道连接到第三台主机可能会有一个更清晰的例子:

  • ssh 网关主机-L 1357:安全主机:5901
    vncviewer 127.0.0.1:1357
    
  • 在客户端:虚拟专用网络查看器⇆ 127.0.0.1:1357 (远程控制

  • 在服务器上:sshd⇆ 安全主机:5901 (虚拟网络服务器


为什么明明知道 5900 是 VNC 端口,却使用 5901。作者(粗心大意?)是否认为我在服务器端使用了 :1 参数?

是的,通过提供-L <any>/127.0.0.1/5901作者假设 VNC 服务器正在监听端口 5901(VNC 显示:1)。

相关内容