科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在Linux操作系统的网络上共享计算机 (2)

在Linux操作系统的网络上共享计算机 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

比较“安全 shell(SSH)”和“虚拟网络计算(VNC)” 在这两篇文章的第一篇中,David 比较和对照了“安全 shell(SSH)”和“虚拟网络计算(VNC)”,这两种技术允许用户在一台工作站上运行位于另一台计算机上的应用程序。

作者:David Mertz 来源:IBM 2007年10月18日

关键字: 网络 操作系统 Linux 共享

  • 评论
  • 分享微博
  • 分享邮件
 

当在异构机器之间创建 ssh 连接时最典型的问题是代码页错误,或者色彩转义码错误。当任何一种情况发生时,基本命令行可用,但是线条(line-draw)字符显示成其它东西;经常只能看到单色终端而不是彩色的。shell 命令不大受这种“阻抗失谐(impedance mismatch)”影响,但是交互式 curses 或 slang 类应用程序通常会受影响。这些应用程序中最值得注意的是文本编辑器,它通常是您最需要在远程控制台上运行的应用程序。顺便说一下, jed 是一种特别好的远程文本方式编辑器;其强壮内核也许将使用 vim。其它大多数 Linux/UNIX 编辑器不是基于 X 的就是极其粗糙的(或者是臃肿的,如 emacs)。

如果您遇到终端配置问题,就需要做几件事。如果您是在连接到类 UNIX sshd 服务器时出问题,请尝试更改远程 TERM 环境变量。例如:

常用远程终端设置:

quilty@delphi:~$ TERM=vt100
  quilty@delphi:~$ TERM=ansi
  quilty@delphi:~$ TERM=linux
  

同时,本地 ssh 客户机通常会有办法来配置连接的终端类型。它可能是命令行选项、环境变量或菜单对话框,这取决于平台和客户机程序。您在连接的两端不应该使用完全相同的名称。要反复进行试验。还应该检查以确保在客户机配置内使用了“无代码页转化”。要测试“阻抗匹配(impedance match)”,则尝试运行一个全屏远程应用程序(例如 jed 或者另一个编辑器)。

虚拟网络计算(Virtual Network Computing(VNC))

VNC 是一种已经移植到许多 GUI 平台上的客户机/服务器系统。VNC 提供一种在本地系统上显示远程计算机整个“桌面”的轻量型协议。Symantec 的 pcAnywhere 是一种具有类似用途的商业产品,但是它仅限于 Microsoft 操作系统。相反,VNC 才真正可以在许多不同的操作系统上运行,并有多种实现和变体。

获得对 VNC 的感性认识的一个好方法是看它网站上的抓屏(请参阅参考资料)。可能的组合比那里显示的多得多,但是显示的多个变体表明了多数。通常, 任何具有 VNC 客户机(通常称为 vncviewer)的平台可以在本地窗口内显示任何具有 VNC 服务器(vncviewer)的平台的虚拟桌面。调整大小和全屏选项也许可用,这取决于 VNC 客户机的版本。

VNC 服务器的基于 X 的版本(Xvnc)和用于其它平台的版本之间有一点差异。单用户系统诸如 Windows、MacOS、BeOS 和 OS/2 不具备“X Window 系统”所拥有的“桌面会话”概念。因此,例如 Windows VNC 服务器所显示的只是出现在与本地系统上的同一个 Windows 桌面的远程版本;当连接时这称为“桌面:0”。相反,X Window 是多用户和多会话的。每个 Xvnc 会话创建一个全新的桌面,可能有它自己的分辨率、窗口管理器和状态。换言之,X 对 VNC 的支持要好得多。

一旦安装了 VNC 服务器,启动会话很简单而且安装也很容易;请参阅参考资料。对于单用户平台,由于基本上只运行应用程序,所以没有选项(第一次您将需要设置一些许可权)。在 X 下,一些命令行选项会有帮助。例如,我已经连接了一个从本地 OS/2 Warp“Bacchus”机器到 Mandrake Linux“Fury”机器的 telnet 会话,如下所示:

在 Fury 上启动 VNC 服务器会话

[root@fury quilty]# cat /usr/bin/vnc-sessions
  vncserver -name TinyLinux -depth 8 -geometry 640x480
  vncserver -name BigLinux -depth 32 -geometry 1260x940
  [root@fury quilty]# vnc-sessions
  
  New 'TinyLinux' desktop is fury.gnosis.lan:1
  
  Starting applications specified in /root/.vnc/xstartup
  Log file is /root/.vnc/fury.gnosis.lan:1.log
  
  
  New 'BigLinux' desktop is fury.gnosis.lan:2
  
  Starting applications specified in /root/.vnc/xstartup
  Log file is /root/.vnc/fury.gnosis.lan:2.log
  

现在,我可以从客户端使用本地 vncviewer 连接到 Fury:1 或者 Fury:2(或者同时连接两者)。如果愿意,也可以显式地指定 192.168.1.106:1。相同的的原则也适用于非本地网络,并且出于安全性目的,VNC 可以配置成隧道通过 SSH。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章