二、用FreeNX安全管理远程Linux服务器
FreeNX 是近年来继VNC之后新出现的远程控制解决方案,基本原理是将XWindows的信号压缩后传输到远程客户端显示,而VNC是直接截取屏幕图像处理传输。这样,在同样的传输信道条件下,FreeNX可以比VNC提供更好的操作感和实时性;也正因为其实现原理依赖于XWindows,因此FreeNX目前也就不支持将Windows作为远程控制服务器端。 FreeNX核心库是由NOMACHINE公司以GPL授权开放源代码方式发布的,开源社区利用这一部分代码完成了一个服务器端,官方网站为http://freenx.berlios.de/ ,NoMachine公司自己也维护自己的商业服务器端及客户端,支持更多特性。FreeNX工作流程图如图1 。
图1 FreeNX工作流程图 |
网络结构以及IP地址分布如图2 。
图2 网络结构以及IP地址分布 |
1. Nxfree服务器端安装
下载软件:
#wget http://fedoranews.org/contributors/rick_stout/freenx/freenx-0.3.1-0.fdr.0.noarch.rpm
#wget http://fedoranews.org/contributors/rick_stout/freenx/nx-1.4.0-0.fdr.4.i386.rpm
#wget http://www.linux-tip.net/cms/workshop/freenx_FC3/expect-5.42.1-1.i386.rpm
#wget ftp://fr.rpmfind.net/linux/redhat/9/en/os/i386/RedHat/RPMS/nc-1.10-18.i386.rpm
安装软件:
#rpm -ivh nc-1.10-18 RPM for i386
#rpm -i nx-1.4.0-0.fdr.4.i386.rpm
#rpm -i expect-5.4.2.1-1.i386.rpm
#rpm -i freenx-0.3.1-0.fdr.0.noarch.rpm
配置nxserver
# /usr/bin/nxsetup --install
Setting up /etc/nxserver ...done
Setting up /var/lib/nxserver/db ...done
Setting up /var/log/nxserver.log ...done
Setting up known_hosts and authorized_keys2 ...done
Setting up permissions ...done
Ok, nxserver is ready.
PAM authentication enabled:
All users will be able to login with their normal passwords.
PAM authentication will be done through SSH.
Please ensure that SSHD on localhost accepts password authentication.
You can change this behaviour in the /etc/nxserver/node.conf file.
Have Fun!
添加用户和密码
# nxserver --adduser x1
NX> 100 NXSERVER - Version 1.4.0-44 OS (GPL)
NX> 1000 NXNODE - Version 1.4.0-44 OS (GPL)
NX> 716 Public key added to: /home/x1/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye
[root@host tmp]# nxserver --passwd x1
NX> 100 NXSERVER - Version 1.4.0-44 OS (GPL)
New password:
Password changed.
NX> 999 Bye
说明x1 用户必须是服务器已经存在的用户。
修改权限
#nxsetup --install --setup-nomachine-key
chmod 666 /dev/urandom
# chmod 666 /dev/null
# chmod 640 /var/lib/nxserver/home/.ssh/authorized_keys2
启动、查看、停止nx命令
# nxserver --start: 启动NX服务器
nxserver --stop: 停止NX服务器
nxserver --status: 查看NX服务器
nxserver --restart: 重新启动NX服务器
nxserver --help: 查看帮助信息
如果你在使用 iptables防火墙,你必需打开相应端口:
# iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#iptables -A OUTPUT -p udp --sport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 5000 -j ACCEPT
#iptables -A OUTPUT -p udp --sport 5000 -j ACCEPT
说明:NxFree服务器完全依赖于SSH进行工作,所以请先确保Linux服务器的Openssh配置无误。