由于很多局域网的规模较大,服务器会分散在不同的地理位置。因此,对于服务器的管理是一件很困难的事情。大多数网络管理员都会采用远程维护的手段,使用大家比较熟悉的Windows终端服务器、PCAnyWhere等工具,同时也有管理员采用Telnet服务进行服务器的远程维护。
但这些管理、维护的手段和方法真的完美无瑕、万无一失吗?
一、为何采用SSH
Windows终端服务器、PCAnyWhere这些基于GUI(图形用户接口)的远程管理系统不但会占用大量的服务器资源,而且无法在GUI上完成一些复杂的维护操作,还要在“命令行模式”进行解决。因此,很多网络管理员使用Telnet服务进行服务器的远程维护。
但是Telnet服务有一个致命的弱点,它是以明文的方式传输用户名和口令,所以很容易被别有用心的人窃取口令。另外,使用Windows 98客户机远程维护服务器时,无法通过Telnet服务器默认的“NTLM身份验证”,由此可见,Telnet服务也是弊端多多。难道就没有好的远程维护方法吗?当然有,目前有一种可代替Telnet服务的有效工具——SSH服务。
SSH(Secure Shell)服务分为两部分:服务器端和客户端。SSH客户端与服务器端通讯时,用户名和密码均进行了加密,这就有效地防止了他人对密码的盗取。而且通信中所传送的数据包都是“非明码”方式的。正因为SSH采用加密传输方式,即使数据被窃取,但对该数据解密也不是一件很容易的事,所以使用SSH服务远程维护服务器是非常安全的。
二、安装启动SSH服务器
下面以Windows 2000 Server为例介绍SSH服务器的安装,可在SSH服务器端使用“F-Secure SSH Server”软件,它的安装非常简单,和一般软件安装没什么区别。安装完成后,需要启动“SSH Server”服务,这一过程比较复杂,这里介绍三种启动“SSH Server”的方法。
方法一:使用批处理文件
在服务器端安装目录下有两个批处理文件“start-ssh.bat”和“stop-ssh.bat”。运行“start-ssh.bat”文件就可以启动SSH服务,要停止该服务只要执行“stop-ssh.bat”文件即可。
方法二:使用SSH服务配置程序
在安装目录下,运行“fsshconf.exe”程序,它虽是SSH服务器的配置程序,但也可以用来启动和停止SSH服务。在弹出的“F-Secure SSH Server Configuration”窗口中,点击左面列表框中的“Server Settings”后,在右边的“Service status”栏中会显示服务器状态按钮,如果服务器是停止状态,则按钮显示为“Start service”(图1),点击该按钮就可启动SSH服务,再次点击可停止SSH服务。
图1
方法三:使用NET命令
在服务器端的“命令提示符”窗口中,输入“net start ″F-secure SSH Server″”命令,就可以启动SSH服务,要停止该服务,输入“net stop ″F-Secure SSH Server″”命令即可。其中“F-Secure SSH Server”为SSH服务器名,“net start”和“net stop”为Windows系统启动和停止系统服务所使用的命令。
提示:启动了SSH服务后,一定要关闭Telnet服务,这样服务器就处在安全环境之中了,不用再怕数据被窃取。
三、合理设置SSH服务器参数
启动SSH服务后,网络管理员就可以远程登录服务器进行维护了。但是每个局域网使用SSH服务的需求是不同的,因此默认的服务参数未必能满足需要,那么我们就可以自行设置这些参数。
1.基本参数设置
运行“fsshconf.exe”服务配置程序,在弹出的“F-Secure SSH Server Configuration”窗口左栏中,依次选择“Server Settings→General”,然后在右边的“General”框体中就可以对参数进行设置了(图2)。
图2
在“Maximum number of connections”栏中输入合适的数值,对连接到SSH服务器的最大用户数进行限制,在这里我们可根据需要进行设置,如输入“50”,则只允许50个用户同时连接SSH服务器。
“Event log filter”多选框用来定义系统日志记录哪些信息,我们可采用默认设置,勾选“Errors”和“Warnings”两项即可,建议大家不要勾选“Information”,否则会浪费系统资源。
“Idle timeout”是用户远程登录的超时时间设置,默认为“0”,就是不进行登录超时限制。
大家可能还记得FTP服务器的个性化的登录信息,SSH服务器也一样可以做到。首先编写一个登录信息文本文件保存在文件夹中,然后点击“Banner message file”栏的浏览按钮,指定已编写好的文本文件即可,这样用户远程登录时就能看到这些个性化的信息了。最后,大家一定要记住点击“Apply”按钮保存参数设置。
2.网络参数设置
在“F-Secure SSH Server Configuration”窗口左栏中点击“Network”选项(图3),SSH服务器默认使用的是“22”端口,当然也可以自定义端口号(注意,SSH服务器使用的端口号一定不能和服务器上别的程序的端口号冲突)。在“Port”栏中输入想使用的端口号即可,其他的参数设置建议使用默认值。
图3
点击“Identity”选项(图4),在右栏中,我们可以使服务器重新产生新的用户加密密钥和对外公开使用的公钥,它们分别存放在安装文件夹的“hostkey”和“hostkey.pub”文件中,点击“Generate”按钮就可以重新生成这两个文件。
提示:SSH服务器产生一对密钥和公钥。客户端使用公钥对SSH服务器发送来的信息进行解密。当用户第一次登录SSH服务器时,服务器会将它的公钥发送给客户端,以便客户机能对服务器发送的信息进行解密。
3.主机限制参数设置
点击“Host Restrictions”选项,在右栏中就可以对远程登录的计算机进行限制设置。例如,不允许IP地址为“192.168.0.2”的客户机远程登录SSH服务器,在“Deny login from hosts”输入框中输入“192.168.0.2”,然后点击“Apply”按钮即可。
提示:SSH服务器还有很多参数就不详细介绍了,大部分参数使用默认值即可。SSH服务器的参数保存在“sshd2_config”文件中,用户也可以用记事本打开它,直接进行编辑,但这种方法比较麻烦,建议大家不要使用。
四、SSH客户端软件的使用
1.连接SSH服务器
客户端使用“F-Secure SSH Client”程序,它的安装也很简单。安装完成后,运行桌面上的客户端程序,弹出“F-Secure SSH Client”主窗口,点击工具栏中的“Connect”(连接)按钮,弹出“Connect to Remote Host”对话框(图5)。
图5
首先,在“Host name or IP address”栏中输入SSH服务器的地址,如输入它的IP地址“218.22.123.26”。其次,在“User Name”栏中输入SSH服务器的管理员账号名,在“Port”栏中输入SSH服务器使用的端口号。最后,点击“Connect”按钮即可连接SSH服务器。
此时,如果用户是第一次远程登录SSH服务器,则会弹出“是否将SSH服务器公钥保存在本地数据库中”的提示框,点击“是”按钮,接着弹出“请输入密码”对话框,输入管理员账号、密码后,点击“OK”按钮,就可以登录到SSH服务器,对服务器进行远程维护了。
提示:SSH客户端也会产生用户的加密密钥和公钥,客户端在第一次登录时,会将产生的公钥复制到SSH服务器上的用户目录中,以便服务器能对客户端发送的信息进行解密。用户目录在服务器上的存储路径为“C?\Documents and Settings\用户名\”(假设操作系统是安装在C盘中)。
2.文件传输功能
SSH服务器不但提供了远程登录功能,还提供了文件传输功能。点击“F-Secure SSH Client”主窗口的文件传输按钮后,则可弹出文件传输窗口(图6),以进行文件的传输。在“Local Folders”栏中选择一个本地文件,然后将它拖到“Remote Folders”栏中的SSH服务器上用户的主目录中即可,在窗口底部的状态栏中会显示文件的传输状态。
图6
提示:客户端连接SSH服务器时,SSH服务器提供两种级别的安全验证。第一种级别基于用户账号密码的安全验证,只要知道账号和密码就可以登录到SSH服务器;第二种级别基于密钥的安全验证,客户端必须为自己创建一对密钥,并把公用密钥传送到SSH服务器上,这样就有效地保证了客户端和服务器端数据的安全传输。
由于篇幅的关系,不能对SSH服务器所有的功能进行介绍,有兴趣的朋友可以参考有关技术资料,进行更深入的研究。