SSH:增强安全“免疫力”

发表于:2007-06-23来源:作者:点击数: 标签:
目前互联网上传输的信息大部分都是以明文格式传送,被人截获后容易对系统的 安全 构成威胁。SSH (Secure Shell) 是目前互联网上常用的能够有效防止网上信息泄密的一种应用协议,它具有安全可靠的用户身份认证、网上信息加密传输等功能。 在 Unix / Linux 操

   
  目前互联网上传输的信息大部分都是以明文格式传送,被人截获后容易对系统的安全构成威胁。SSH (Secure Shell) 是目前互联网上常用的能够有效防止网上信息泄密的一种应用协议,它具有安全可靠的用户身份认证、网上信息加密传输等功能。

Unix/Linux 操作系统平台上,SSH-1.2.26应用软件为管理员进行网上远程管理和维护提供了一种安全可靠的应用环境(即shell),它能完全替代目前Unix/Linux操作系统中常用的te.net、rlogin、rsh和rcp等命令的应用。

----现在,我们将对SSH-1.2.26的安装和使用做一详细的介绍。

一、 服务器端环境

----应用于Solaris 2.7环境下。

二、 SSH软件包的下载地址

----在中国自由软件库 (http://freesoft.cei.gov.cn )上下载SSH-1.2.26软件包。

三、编译与安装

----假设SSH-1.2.26软件包已下载到当前目录。

----1.解包

----$ gzip -dc ./ ssh-1.2.26.tar.gz | tar xf -

----2.编译

----$ cd ssh-1.2.26

----$ configure --prefix=/usr/local/ssh-1.2.26

----(缺省安装在/usr/local/ssh-1.2.26目录下)

----$ make

----3.安装

----$ su

---- # make install

四、在服务器上启动sshd(需用root 身份)

----手工启动,执行以下命令。

----# /usr/local/ssh-1.2.26/sbin/sshd

----以后台方式(Stand-alone Daemons)启动。

----# vi /etc/rc2.d/S99sshd

----#!/bin/sh

----case $1 in

---- 'start')

---- echo "Starting sshd..."

---- /usr/local/ssh-1.2.26/sbin/sshd

---- ;;

---- 'stop')

---- echo "Stopping sshd.."

---- /usr/bin/pkill -u root sshd

---- ;;

---- *)

----echo "usage: S99sshd {start|stop}"

----;;

----esac

----# sh /etc/rc2.d/S99sshd

五、测试 sshd 应用

----SSH支持多种用户身份认证方法,本文分别介绍。

----1.在Unix(如Solaris 2.7)

----平台上测试

----假设服务器端主机和客户端主机的操作系统均为Solaris 2.7,主机域名分别为server.com和client.com。用上文介绍的编译安装方法安装SSH-1.2.26。

----在Server主机处启动sshd进程:

----# /usr/local/ssh-1.2.26/sbin/sshd -d

----# 用root 身份启动

----(1) 基于用户口令进行认证

----使用这种方法时,系统需要验证用户的口令,但口令在网上是经过加密后才传送的。需在Client主机处进行如下操作:

----$ /usr/local/ssh-1.2.26/bin/ssh server.com

----# 用ssh登录Server主机

----根据提示信息,输入该用户的口令。

----(2) 基于RSA key(即用公共密钥和私人密钥)进行用户认证

----使用这种方法时,服务器端与客户端之间通过登录用户的公共密钥和私人密钥进行认证。

----在Server主机处进行如下操作:

----$cd $HOME

----$ mkdir .ssh

----在Client机处进行如下操作:

----$ /usr/local/ssh-1.2.26/bin/ssh-keygen

----# 生成该用户的公共密钥和私人密钥

----根据提示信息,输入该用户私人密钥的保护口令。

----$ cd .ssh

----$ ftp server.com

----# 将该用户的公共密钥通知sshd server

----ftp> cd .ssh

----ftp> bin

----ftp> put identity.pub authorized_keys

----ftp> bye

----$ /usr/local/ssh-1.2.26/bin/ssh server.com

----根据提示信息,输入该用户私人密钥的保护口令。

----(3)基于RSA方法进行客户主机信息认证

----使用这种方法时,服务器端与客户端之间通过客户主机的公共密钥和私人密钥进行认证。在Server主机处进行如下操作:

----$ cd $HOME

----$ vi .rhosts

----#加入允许登录的Client 主机名或IP

----client.com

----在Clinet主机处进行如下操作:

----$ /usr/local/ssh-1.2.26/bin/ssh server.com

----2. 在Windows 98上测试

----(1)客户端软件下载

----在中国自由软件库 (http://freesoft.cei.gov.cn )中下载ttermp23.zip和ttssh,.zip压缩文件。

----(2)安装

----用winzip解开ttermp23.zip,然后运行setup,假定安装在c:\program files\ttermpro目录下。

----用winzip将ttddh.zip解开,将解开后的文件全部保存在c:\program files\ttermpro目录下。

----(3)启动

----在c:\program files\ttermpro 目录下,双击 ttssh 应用程序,出现图1,按图1所示输入相关信息,然后点击“OK”。

[[The No.1 Picture.]]

----如果选用“基于用户口令”的认证方法,可点中“Use plain password to log in”(如图2所示),

[[The No.2 Picture.]]

然后在“User name”和“Passphrase”中分别输入用户名和口令即可。如果用“基于RSA key”的认证方法,可点中“User RSA key to log in”,再确定该用户的私人密钥文件名即可,其中私人密钥文件的生成可参照前面“测试sshd应用”中“在Unix(如Solaris 2.7)平台上测试”的第2点“基于RSA key(即用户公共密钥和私人密钥)进行用户认证”中所提到的方法。如果选用“基于RSA方法进行Client主机信息”的认证方法,可点中“Use rhost to log in”,再参照前面“测试sshd应用”中“在Unix(如Solaris 2.7)平台上测试”的“基于RAS方法进行Client主机信息认证”即可。

原文转自:http://www.ltesting.net