7、远程监控及管理Linux平台的工具
7.1 SSH远程监控及管理
SSH的英文全称是Secure SHell。通过使用SSH,用户可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP、甚至PPP提供一个安全的“通道”。
SSH协议是建立在应用层和传输层基础上的安全协议,其主要由以下三部分组成,共同实现SSH的安全保密机制:
 传输层协议。该协议提供诸如认证、信任和完整性检验等安全措施,此外还可以任意地提供数据压缩功能。通常情况下,这些传输层协议都建立在面向连接的TCP数据流之上。
 用户认证协议层。用来实现服务器的跟客户端用户之间的身份认证,其运行在传输层协议之上。
 连接协议层。分配多个加密通道至一些逻辑通道上,它运行在用户认证层协议之上。
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。
在Linux的主流发行版本中都已经包含了与OpenSSH相关的软件包。主要安装如下几个包:
  openssh-3.5p1-6.rpm
  openssh-server-3.5p1-6.rpm
  openssh-askpass-gnome-3.5p1-6.rpm
  openssh-clients-3.5p1-6.rpm
  openssh-askpass-3.5p1-6.rpm
使用如下命令进行安装:
//首先查询系统是否安装了上述软件包
#rpm –qa |grep openssh
//没有安装则执行如下命令
#rpm –ivh openssh-3.5p1-6
#rpm –ivh openssh-server-3.5p1-6
#rpm –ivh openssh-askpass-gnome-3.5p1-6
#rpm –ivh openssh-clients-3.5p1-6
#rpm –ivh openssh-askpass-3.5p1-6
安装完成了之后,可以使用下述命令进行启动:
#service sshd start
或者命令:
#/etc/rc.d/initd/sshd start

SSH提供了一些命令和shell用来登录远程服务器,在默认情况下其并不允许用户拷贝文件。但为了方便用户使用,它还是提供了一个“scp”命令,用户可以使用该命令来进行文件的远程拷贝工作。
假定用户想把本地计算机当前目录下的一个名为“dumb”的文件拷贝到远程服务器www.foobar.com上用户的家目录下。而且用户在远程服务器上的账号名为“bilbo”。可以用这个命令:
scp dumb bilbo@www.foobar.com:.
把文件拷贝回来用这个命令:
scp bilbo@www.foobar.com:dumb.
“scp”调用SSH进行登录,然后拷贝文件,最后调用SSH关闭这个连接。
如果在用户的“~/.ssh/config”文件中已经为www.foobar.com做了这样的配置:
Host *fbc
HostName www.foobar.com
User bilbo
ForwardAgent yes
那么用户就可以用“fbc”来代替“bilbo@www.foobar.com”,命令就简化为“scp dumb fbc:.”。
“scp”假定用户在远程主机上的家目录为用户的工作目录。如果用户使用相对目录就要相对于家目录。
用“scp”命令的“-r”参数允许递归地拷贝目录。“scp”也可以在两个不同的远程主机之间拷贝文件。
在Linux客户端下使用SSH,优点是操作更方便,无需其他软件;缺点是不太直观。对该客户端的配置,已经在前面介绍/etc/ssh/ssh_config配置使用的时候介绍过了,用户只要使用如下简单的命令即可登录:
//以用户test登录远程服务器www.test.com
#ssh -l test www.test.com
下面本节主要介绍配置使用Windows环境下的putty工具来登录SSH服务器。
该工具可以从网上下载,目前网上的最新版本为:putty 0.58,对该版本进行安装后,进行如下配置:1)打开该软件,进入配置界面,如图4所示,软件初始自动打开Session窗口:2)在该界面的右半区域的Host Nameor IP address)】编辑框中输入所要远程登录的服务器地址,这里设定为:192.168.10.1,端口编辑框中输入默认的端口号22,然后单击Save】按钮,保存输入配置,如图所示。3)单击Open】按钮,该软件连接服务器,显示连接结果,用户就可以进行相应的远程管理操作了,如图5所示。
 


图4 配置IP地址及端口号
 
 

图5 使用SSH连接远程服务器
7.2 Xmanager进行桌面远程监控及管理
随着互联网的高速发展以及Linux企业应用的成熟,Linux被广泛应用于服务器领域,如何实现Linux的远程管理成为网络管理员的首要任务。我们经常见到的几种最为常用的windows下远程管理Linux服务器的方法,基本上都是利用SecureCRT,F-Secure SSH 亦或是PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这些客户端工具几乎不需要什么配置,使用简单,但是它们都无法启动窗口服务的程序或进程,也无法达到远程桌面控制。下面将介绍通过xmanager远程桌面控制Linux的方法和技巧。
X是用在大多数UNIX系统中的图形支持系统。如果你在你的Linux机器上使用GNOME或者KDE的话,你就正在使用X系统。它由X联盟(www.X.org)定义并维护。大多数的Linux用户使用的都是由XFree86 项目 (www.xfree86.org)提供的X Window系统的实现。xdm 是一个显示管理器,提供了灵活的任务管理功能。然而xdm通常被认为是“GUI的登陆屏幕,可以自动启动我的X任务”,我们会看到实际上它要更为强大。
xdm使用X联盟的X显示管理控制协议,即XDMCP,来和X服务器通信。它允许X服务器从运行xdm服务的服务器上获得会话服务。当使用xdm管理这些X任务的时候在设置上有些复杂。但设置xdm 可以得到本地的和其他服务器上的桌面了。我们下面将介绍服务器上配置xdm的方法和步骤,这里描述的配置允许任何的 XDMCP 客户访问Linux服务器桌面环境。
为了使用xmanger通过桌面方式监控和管理远程Linux,需要在远程被管理端的Linux上进行如下配置和文件修改工作:
1)打开 /etc/inittab文件,将 runlevel 变为5, 即id:5:initdefault: 如果原来就是5,则不用修改;
2)打开/etc/X11/gdm/gdm.conf 文件,对于Fedora Core 5 是/etc/gdm/custom.conf文件 找到[xdmcp]部分,将 Enabled 选项设为true或1;同时,要确保存在“Port=177”语句,因为177端口是我们要配置的xdmcp服务的监听端口;
3)打开/etc/X11/xdm/xdm-config 文件,找到DisplayManager.requestPort: 0, 然后在前面加上字符“!”;
4)打开/etc/X11/xdm/Xaccess文件 找到#*#any host can get a login window,将第一个“#”字符去掉;
5)修改确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755,在RedHat中,我们可以看到这两个文件默认的属性就是444和775,因此不用修改;
6)如果我们的Linux机器配置有防火墙,为防止防火墙将通过177端口即xdmcp服务)的数据过虑,我们必须加上如下的防火墙规则:
#iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT
7)重新启动Linux即可。
另外,我们还需要在Windows管理和控制端安装软件Xmanger,在本文中我们采用Xmanger2.0版本,具体的安装过程非常简单,在此不再赘述。安装好该软件后,可以根据如下配置来完成监控和管理工作:
1)启动其中的Xbrowser后,将Host设为linux机器的IP,Port Number为177,如6所示:
                


图6 配置Xmanager
2)配置完成后,点击图6中的相应图标进入远程系统后则能根据需求进行远程监控和管理工作,如图7所示:
 
 

图7 使用Xmanager远程管理Linux


相关内容