正如我之前解释过的,由于 XDMCP 在互联网上传输 X 显示内容时缺乏加密,因此基本上是不推荐使用的。一种加强流量安全的方法是使用 SSH 的 X11 隧道或端口转发。SSH(安全外壳)是由 Tatu Ylonen 于 1995 年开发的,用于取代不安全的 telnet、ftp、scp、rcp、rlogin、rsh 等。你首先需要知道的是,使用 SSH 进行 X11 转发与你通常运行 X Window 的不安全方式是不同的。
要开始此设置,您需要一些额外的信息。首先,您必须安装 SSH 软件包。在 Linux 中,它们是 OpenSSH 软件包。检查您的发行版以确定您需要安装哪个软件包(有些发行版将其作为标准软件包安装)。其次,您需要一个 Windows SSH 客户端(其他操作系统版本,如 MAC,也可用)。我推荐 PuTTY。它是一个很棒的免费 SSH 客户端,您可以从 此链接 下载。记得下载文档并仔细阅读。其他优秀的免费 SSH 客户端有:Tera Term Pro + TTSSH:Tera Term 的 SSH 扩展,SSH.com 的 SSH Secure Shell Client(仅限非商业用途免费)。我将再次分解成步骤,以便您轻松遵循。
双击打开命令 putty.exe。它将打开界面。首先,在“主机名(或使用 IP)”字段中设置连接信息,并选择 SSH(SSH 使用端口 22)。在“连接”类别中,找到“连接”树。在“SSH”中,展开它,您将看到“隧道”窗口。单击“启用 X11 转发”。它将默认设置为 X 显示在“localhost:0”。现在,返回“会话”并使用您喜欢的名称保存此会话。我通常使用主机名,以便我轻松记住我要连接到哪里。
在 Hummingbird Exceed 的示例中,这是您需要做的。(对于其他 X 客户端,设置类似)。从您的 Exceed 文件夹中打开 Xconfig。在“屏幕定义”中,更改为“多窗口”模式并保存。接下来,打开您的“通信”图标并将启动模式设置为“被动”。
现在您完成了。要测试它,首先使用 PuTTY(或其他 SSH 客户端)连接到您的服务器。首次连接时,它会询问您是否要缓存安全密钥。(“是”是通常的选择)。一旦登录完成,启动您的 Exceed。它将在后台运行。现在您可以执行任何 X 应用程序,它应该通过 SSH 将 X 应用程序转发到您的本地屏幕。例如
$ xclock & |
现在我们应该看到 Xclock 在您的本地屏幕上运行。
现在您看到的区别是,您没有看到所有的 X Window。您只是逐个运行 X 应用程序,并通过 SSH 转发到您的本地屏幕。因此,您需要知道运行每个 X 应用程序的命令。所有控制都通过 SSH 客户端窗口完成。对我来说,安全比稍微的不便更值得!
Hummingbird Exceed 的较新版本现在支持 SSH 连接。我相信其他 X 应用程序可能在其最新的新版本中也能做到这一点。查看您正在使用的应用程序网站或下面的 资源 以获取更多详细信息)。
如果您正在使用 X-Win32 并且想要使用 带端口转发的 SSH,您可以参考此文档进行设置。