(用Firefox浏览本文居然不能显示图片,用IE浏览没有问题,看来这个blog系统对Firefox的支持差了些。)
NX 是 NoMachine 公司的一项新的远程桌面的技术,可以提供从 56K Modem 到 LAN 环境下的高效能的远程桌面服务,NX Server是其 Commercial 版本(要钱的),FreeNX 是一个 GPL 的 NX Server,给俺们穷人用的。NX的优势是,可以利用22端口进行SSH加密传输,确保密码等敏感信息不被泄露,而VNC则是明文传输,很容易被抓包后过滤出帐号密码。
如果在 Fedora Core 2 上尝试一下,参考这篇文章,该文作者称 "Once you've started using NX, you'll never go back to VNC.",呵呵。在CentOS 4.4 下安装比较简单,先确保 sshd 服务启动并运行在 22 端口,然后检查 expect 和 nc 这个两个包是否安装了。
运行 yum install freenx
server 端的安装就结束了。
接下来需要安装一个 NX 的 client,在 NoMachine 网站上下载,我下载一个 Windows 下的 client,安装完后有一个很重要的步骤,需要将 server 上的 client.id_dsa.key 拷贝到 client 机器上去:server 上的文件路径是
/etc/nxserver/
or
/var/lib/nxserver/home/.ssh/
接下来按下图所示来操作
[attachment=12]
[attachment=13]
[attachment=14]
[attachment=15]
[attachment=16]
接下来可以开始连接 server,运行 client 后有一个向导程序,可以选择用 Gnome / KDE / CDE、选择分辨率等。需要导入client.id_dsa.key文件到客户端中(见图4、图5),最后记得要勾上 "Enable SSL traffic" 这个选项,完成后就可以连接到 server 了。(Linux下的NX客户端设置方式相同)
NX Web Companion的安装
如果没有客户端,NX是用不了的。不过,NoMachine官方提供了一个名叫NX Web Companion的插件,服务器端安装了这个插件以后,客户端可以直接用浏览器登录(客户端的浏览器需要有jre支持),然后自动下载客户端,从而登录。这里说一下这个插件的安装方法。
在安装好freenx的前提下:
首先,到下载该插件,我下载的是rpm版本。
运行 rpm -ivh nxplugin-2.1.0-3.i386.rpm进行安装。
该插件会被自动安装到/usr/NX/目录下
运行 cd /usr/NX/share
将安装好的文件cp到网站的目录下
cp -a plugin /home/www/nx/
plugin 是该插件的目录,所有文件都在这个目录下,包括图片、各种操作系统的客户端等。/home/www/是我的网站的根目录(你的可能和我的不一样)。为了区别于网站的其他文件,我在/home/www/下新建了一个nx目录,并且将plugin目录cp到了这个目录下。
接下来修改配置文件:
cd /home/www/nx/plugin
vi nxapplet.html
nxapplet.html即是NX Web Companion配置文件,也是客户端需要用到的登录文件。
首先找到下面的这个选项
将webserver修改成你的网站域名或IP,如:
然后保存退出。
同时,该插件的运行还需要一个文件,但安装时是没有生成的,需要手工建一个空文件。
vi /home/www/plugin/session/session.nxs
直接保存退出即可。
接下来需要设置一下Apache或者Zeus,你可能认为这个插件好麻烦,需要做这么多工作。其实,安装这个插件,相当于架设一个小网站。
设置的过程这里就这多说了,为了安全起见,应该在Apache或Zeus下新建一个Virtual Server。其Document root就是plugin所在目录,比如我的Document root 就是/home/www/nx/
设置好以后,就可以用浏览器登录了。
我在IE里输入就可以出现一个Java对话框,然后自动下载客户端并自动运行,然后按照前面的方法用客户端登录。记住,这里登录同样需要导入client.id_dsa.key这个文件。
FAQ
1、为什么我在客户机的浏览器里输入地址,老是报错?
这种情况很有可能是路径问题造成的,请修改nxapplet.html文件,并且检查你的Apache Virtual Server下的路径。
2、我认为浏览器登录会不安全,能不能加密传输?
可以的。首先,请确认NX工作正常,即可以从80端口登录到服务器。然后,打开Apache和Zeus的SSL功能,让Apache和Zeus可以支持https传输(只需要在NX所在的Virtual Server内设置就行,不需要修改全局变量)。最后,修改一下nxapplet.html文件。找到
,将http修改成https,当然webserver在前面你已经设置成你的域名或IP了。