及 OpenSSH 简介 SSH ( Secure Shell )是以远程联机服务方式操作 服务器 时的较为 安全 的 解决方案 。它最初由芬兰的一家公司 开发 ,但由于受版" name="description" />

SSH及OpenSSH简介

发表于:2007-06-08来源:作者:点击数: 标签:
SSH MI LY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">及 OpenSSH 简介 SSH ( Secure Shell )是以远程联机服务方式操作 服务器 时的较为 安全 的 解决方案 。它最初由芬兰的一家公司 开发 ,但由于受版

SSHMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">及OpenSSH简介

  SSHSecure Shell)是以远程联机服务方式操作服务器时的较为安全解决方案。它最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH

 

SSHOpenSSH简介

  SSHSecure Shell)是以远程联机服务方式操作服务器时的较为安全的解决方案。它最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH

  用户通过SSH可以把所有传输的数据进行加密,使“中间人”的攻击方式不可能实现,而且也能够防止DNSIP欺骗。它还有一个额外的好处是传输的数据是经过压缩的,可以加快传输的速度。SSH作用广泛,既可以代替Te.net,又可以为FTPPOP,甚至为PPP提供一个安全的“通道”。SSH协议在预设的状态中,提供两个服务器功能:一个是类似Telnet的远程联机使用Shell服务器,即俗称SSH功能;另一个是类似FTP服务的SFTP-Server功能,可提供更安全的FTP服务。

  SSH的安全验证如何工作呢?主要依靠联机加密技术。从客户端来看,有以下两种安全验证级别:

  1.基于口令的安全验证(ssh1 只要知道自己的账号和口令,就可以登录到远程主机。所有传输的数据都将被加密,但是不能保证正在连接的服务器就是想要连接的服务器。可能受到“中间人”的攻击。

  2.基于密匙的安全验证(ssh2 需要依靠密匙,即用户必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用密匙进行安全验证。服务器收到请求之后,先在该服务器的home目录下寻找公用密匙,然后把它和发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge),并把它发送给客户端软件。客户端软件收到“质询”后,就可以用私人密匙解密再把它发送给服务器。使用这种方式,用户必须知道自己密匙的口令。与第一种级别相比,这种级别不需要在网络上传送口令,不仅加密所有传送的数据,而且阻止了“中间人”攻击方式。整个登录的过程一般需要10秒。

  OpenSSH的安装和启动

  OpenSSH的安装非常简便,操作如下。

  1.下载软件包。到http://www.openssh.com下载最新软件包OpenSSH 3.6.1(最好下载源程序软件包后自行编译)。本文以openssh-3.5p1.tar.gz为例进行介绍,安装环境为Red Hat 7.1/kernel 2.4.8/gclearcase/" target="_blank" >cc-2.96-98

  2. 解压及安装,代码如下:

# tar zxvf openssh-3.5p1.tar.gz

# cd openssh-3.5p1

# ./configure --prefix=/opt --sysconfdir=/etc/openssh

# make

# make install

# cd /etc/rc.d/init.d/

# vi sshd

//加入/opt/sbin/sshd启动进程

# cd /etc/rc.d/rc3.d/

# ln -s ../init.d/sshd S59sshd

  重启计算机以后,用下列命令进行测试

# ssh -l  geminis  www.test.com

The authenticity of host 'www.test.com (*.*.*.*)' can't be established.

RSA key fingerprint is a7:35:3c:bd:47:b0:5d:30:68:f1:15:77:1a:b1:67:dd.

Are you sure you want to continue connecting (yes/no)?

  因为是第一次登录主机,OpenSSH将显示不能识别该主机。键入“yes”,把主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息。然后,OpenSSH提示输入远程主机上的账号及口令。输入完后就建立了SSH连接,可以像使用 Telnet一样使用OpenSSH

  配置基于密钥认证的OpenSSH

  缺省情况下,SSH将默认使用口令验证方式。不需要对系统进行任何配置就可以使用账号和口令登录到远程主机。下面介绍如何配置并使用基于密匙认证的OpenSSH(假设用户名为geminis,主机IP192.168.0.1)。

  首先创建一对密匙(包括公匙和密匙,并且用公匙加密的数据只能用密匙解密),把公匙放到需要远程服务器上。当登录远程服务器时,客户端软件会向服务器发出请求,请求用密匙进行认证,代码如下:

# ssh-keygen -d

// 加上参数d是创建一个一基于ssh2的密匙对 

#Generating public/private DSA key pair. 

// 生成DSA加密模式的密匙对

# Enter file in which to save the key (/home/geminis/.ssh/id_dsa): 

//存放密匙文件的路径,直接回车为默认目录

# Enter passphrase (empty for no passphrase):

//必须输入一个>4个字符的标识符

# Enter same passphrase again:

//重新确认一次

  如果创建成功,系统将返回以下信息:

Your identification has been saved in /home/geminis/.ssh/id_dsa.

Your public key has been saved in /home/geminis/.ssh/id_dsa.pub.

The key fingerprint is:

29:1b:46:00:08:38:d5:87:da:96:e7:c4:a3:6b:b1:3f geminis@www.test.com

  接下来,把id_dsa.pub发布到服务器上。通过FTP将公匙文件“/home/admin/.ssh/id_dsa.pub”,复制到远程服务器的“/home/admin/.ssh”目录。如果.ssh目录不存在,可以用mkdir命令先建立。然后,将“id_dsa.pub”重命名为“authorized_keys2”,代码如下:

mv id_dsa.pub authorized_keys2

chmod 644 authorized_keys2

  注意,如果authorized_keys2文件的权限不正确,会导致SSH连接失败。

  服务器收到请求之后,在该服务器的宿主目录下寻找公匙,然后检查该公匙是否合法。如果合法就用公匙加密一随机数(即所谓的challenge)并发送给客户端软件。客户端软件收到后就用私匙解密再把它发送给服务器。因为用公匙加密的数据只能用密匙解密,服务器经过比较就可以知道该客户连接的合法性。连接代码如下:

# ssl -l geminis www.test.com

  系统返回以下信息:

# Enter passphrase for key '/home/geminis/.ssh/id_dsa': ******

Last login: Wed Apr 16 12:31:49 2003 from www.geminis.com

  OpenSSH客户端使用方法

  1 Windows平台

  客户端通常使用Windows平台,操作较为直观。下面对几种客户端工具进行介绍。

  ◆ PuTTY

  在客户端使用SSH较好的工具是PuTTY,这是一个开源软件。用户可以根据自己的配置情况对该软件进行修改。

  如果是第一次使用该软件,系统会提示下载有关主机的“识别标记”,选择“yes”,下次登录就不会出现提示框。

  ◆ Filezilla

  Filezilla是客户端使用SFTP的一款不错的开源软件,对中文支持很好。

  2 Linux终端

  在Linux终端下使用SSH,优点是操作更方便,无须其它软件;缺点是不太直观。使用方法及命令介绍如下:

  ◆ SSH的使用

# ssh -l geminis www.test.com

Enter passphrase for key '/home/geminis/.ssh/id_dsa': 

//输入以前设置的标识符

  ◆ SFTP的使用

  # sftp www.test.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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