`
Fangrn
  • 浏览: 801047 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux 管理员的 10 个关键技巧(6)-通过 SSH 通道进行远程 VNC 会话

阅读更多

VNC 或虚拟网络计算已经存在很长时间了。通常,当远程服务器上的某类图形程序只能在此服务器上使用时,我才需要 VNC。

例如,假设在 技巧 5 中,ginger 是一台存储服务器。许多设备都使用 GUI 程序来管理存储控制器。这些 GUI 管理工具通常需要通过一个网络直接连接到存储服务器,而这个网络有时保存在专用的子网络中。因此,只能通过 ginger 访问这个 GUI。

可以尝试使用 -X 选项通过 SSH 连接到 ginger 并启动它,但这对带宽要求很高,您需要忍受等待的痛苦。VNC 是一个网络友好的工具,几乎适用于所有操作系统。

假设设置与技巧 5 中的一样,但希望 tech 能访问 VNC 而不是 SSH。对于这种情况,需要进行一些类似的操作,不过转发的是 VNC 端口。执行以下操作步骤:

  1. 在 ginger 上启动一个 VNC 服务器会话。运行以下命令:

    root@ginger:~# vncserver -geometry 1024x768 -depth 24 :99

    这些选项指示启动服务器,分辨率为 1024x768,像素深度为每像素 24 位。如果使用较慢的连接设置,8 也许是更好的选项。使用 :99 指定可访问 VNC 服务器的端口。VNC 协议在 5900 处启动,因此 :99 表示服务器可从端口 5999 访问。

    启动该会话时,要求您指定密码。用户 ID 与启动 VNC 服务器时的用户相同(本例中就是根用户)。

  2. 从 ginger 连接到 blackbox.example.com 的 SSH 将 blackbox 上的端口 5999 转发到 ginger。这通过运行以下命令在 ginger 中完成:

    root@ginger:~# ssh -R 5999:localhost:5999 thedude@blackbox.example.com

    运行此命令后,需要将此 SSH 会话保持为打开状态,以便保留转发到 ginger 的端口。此时,如果在 blackbox 上,那么运行以下命令即可访问 ginger 上的 VNC 会话:

    thedude@blackbox:~$ vncviewer localhost:99

    这将通过 SSH 将端口转发给 ginger,但我们希望通过 tech 让 VNC 访问 ginger。为此,需要另一个通道。

  3. 在 tech 中,打开一个通道,通过 SHH 将端口 5999 转发到 blackbox 上的端口 5999。这通过运行以下命令完成:

    root@tech:~# ssh -L 5999:localhost:5999 thedude@blackbox.example.com

    这次使用的 SSH 标记为 -L ,它不是将 5999 放到 blackbox,而是从中获取。到达 blackbox 后,需要保持此会话为打开状态。现在即可在 tech 中使用 VNC 了!

  4. 在 tech 中,运行以下命令使 VNC 连接到 ginger:

    root@tech:~# vncviewer localhost:99 .

    Tech 现在将拥有一个直接到 ginger 的 VNC 会话。

设置虽然有点麻烦,但比为修复存储阵列而四处奔波强多了。不过多实践几次这就变得容易了。

对 此技巧我还要补充一点:如果 tech 运行的是 Windows® 操作系统,并且没有命令行 SSH 客户端,那么 tech 可以运行 Putty。Putty 可以设置为通过查找侧栏中的选项来转发 SSH 端口。如果端口是 5902 而不是本例中的 5999,则可以输入图 5 中的内容。


图 5. Putty 可以转发用作通道的 SSH

如果进行了此设置,那么 tech 就可以使用 VNC 连接到 localhost:2,如同 tech 正在 Linux 操作系统上运行一样。

  • 大小: 95.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics