您的位置:首页 > 文档 > ssh >
 文章分类 

OpenSSH快速指南


创建:2005-10-27 22:57:41
作者:Unlinux
来自: http://www.Unlinux.com

摘要
  如何快速安装OpenSSH。(2002-06-24 14:29:52)

By 书生

  

需求:公司通过一托管服务器(www.example.com)向外发布信息,要求使用openssh来提高从公司本地管理工作站(admin.example.com)远程管理该服务器时的安全性。

1.运行环境:

1.1 操作系统:

  本地管理工作站和远程服务器均使用RedHat7.0。

1.2 openssh版本:

采用RedHat7.0自带的openssh,主要有三个rpm包:

* openssh-2.1.p4-1.rpm:包含openssh的核心文件
* openssh-server-2.1.1p4-1.rpm:包含openssh的服务器程序
* openssh-clients-2.1.1p4-1.rpm:包含openssh的客户端程序

2.安装openssh

2.1 在本地管理工作站上安装openssh客户端
  首先查看是否已经安装了openssh
#rpm –qa |grep openssh

  如果提示:
openssh-2.1.p4-1
openssh-clients-2.1.1p4-1

  则说明已经安装了openssh的客户端软件,如果没有提示,则插入Redhat7.0的第一张安装盘,并执行:
#mount /mnt/cdrom
#cd /mnt/cdrom/RedHat/RPMS
#rpm –ivh openssh-2.1.p4-1.rpm
#rpm –ivh openssh-clients-2.1.1p4-1.rpm

2.2 在远程服务器上安装openssh
  方法同上,只不过服务器上需要安装的是以下两个包
openssh-2.1.p4-1
openssh-server-2.1.1p4-1

  提示:可以通过ftp将openssh的rpm包下载到远程服务器上。

3.使用基于传统口令认证的openssh

  说明:缺省情况下,ssh仍然使用传统的口令验证,在使用这种认证方式时,我们不需

  要进行任何配置。你可以使用自己帐号和口令登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

  使用以下语法登录服务器:
ssh –l [在远程服务器上的帐号] [远程服务器的主机名或ip地址]

  假设我们在远程服务器上有管理员帐号admin,我们执行以下命令:
ssh –l admin www.example.com
  一切正常的话,你可以看到以下信息:
The authenticity of host ‘www.example.com’ can't be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?

  因为你是第一次登录服务器,所以openssh不知道你的主机信息,以后再登录时,系统就不会再提示这样的信息了。输入yes并回车后系统会提示你输入密码,输入密码后,你就可以象平常使用telnet那样来使用ssh了。

4.配置并使用基于密匙认证的openssh

  说明:密匙认证需要依靠密匙,首先创建一对密匙(包括公匙和密匙,并且用公匙加密的数据只能用密匙解密),并把公匙放到需要远程服务器上。这样当登录远程服务器时,客户端软件就会向服务器发出请求,请求用你的密匙进行认证。服务器收到请求之后,先在你在该服务器的宿主目录下寻找你的公匙,然后检查该公匙是否是合法,如果合法就用公匙加密一随机数(即所谓的challenge)并发送给客户端软件。客户端软件收到“challenge”之后就用私匙解密再把它发送给服务器。因为用公匙加密的数据只能用密匙解密,服务器经过比较就可以知道该客户连接的合法性。

  下面我们就一步步的来配置基于密匙认证的oppenssh(基于ssh2):

  假定:我们在远程服务器和本地管理工作站上均有一个管理员帐号:admin

4.1 配置远程服务器:

  安装完成后一般说来我们就没有必要修改服务端的配置文件了,但是如果你想要获得最大化的安全性,可以修改www.example.com上/etc/ssh/sshd_conf中的
PasswordAuthentication yes 改为
PasswordAuthentication no

也即只能使用密匙认证的openssh,禁止使用口令认证。

4.2 配置客户端:

  对客户端配置文件/etc/ssh/ssh_conf不需要进行任何更改。

4.3 在客户端生成密匙:

  先在管理工作站上用ssh-keygen生成密匙,因为我们使用的是ssh2,所以要加一个-d的参数。用admin登录管理工作站,然后执行:
$ssh-keygen –d

  系统将显示:
Generating DSA parameter and key.
Enter file in which to save the key (/home/admin/.ssh/id_dsa):

  叫你输入密匙文件的保存路径,我们回车使用缺省路径。
  如果还没有/home/admin/.ssh目录,系统将显示:
Created directory ‘/home/admin/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase:
Your identification has been saved in /home/admin/.ssh/id_dsa.
Your public key has been saved in /home/admin/.ssh/id_dsa.pub.
The key fingerprint is:
D8:20:0f:01:5d:8f:6f:de:b9:d5:ce:28:d8:ca:45:59 admin@admin.example.com

  这里的密码是对生成的私匙文件(/home/admin/.ssh/id_dsa)的保护口令。

  公匙文件是/home/admin/.ssh/id_dsa.pub

4.4 发布公匙:

  通过ftp将公匙文件/home/admin/.ssh/id_dsa.pub复制到远程服务器上的以下目录:

/home/admin/.ssh,如果.ssh目录不存在,可以用mkdir命令先建立。
  然后,将id_dsa.pub重命名为authorized_keys2:
mv id_dsa.pub authorized_keys2
  再用chmod修改authorized_keys2的属性:
chmod 644 authorized_keys2

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

4.5 启动sshd服务:
  在www.example.com上使用root权限执行:
/etc/rc.d/init.d/sshd start

4.6 连接远程服务器:
  用admin帐号登录admin.example.com并使用ssh连接www.example.com:
ssh –l admin www.example.com
Enter passphrase for DSA key ‘/home/admin/.ssh/id_dsa’:

  输入原先设置的密码后,就可以登录到www.example.com了。

转载自:http://www.unlinux.com/doc/ssh/20051027/5366.html

评论】 【加入收藏夹】 【 】 【打印】 【关闭
 *  请尊重我们的劳动,转载请注明出自UnLinux.Com及作者名 * 

※ 相关链接
 ·Linux系统中OpenSSH的安装和配置之三  (2005-10-27 22:57:41)
 ·Linux系统中OpenSSH的安装和配置之一  (2005-10-27 22:57:41)
 ·Linux系统中OpenSSH的安装和配置之二  (2005-10-27 22:57:41)
 ·PMT资源之Open Source多媒体软件  (2005-10-27 22:52:43)
 ·关于cursor open 的时候到底做了些什么  (2005-10-27 22:05:21)
 ·关于数据库open的深入探究  (2005-10-27 22:05:21)
 ·架设基于Fedora的openmosix集群  (2005-10-27 22:04:59)
 ·rh8平台上架设sendmail+openwebmail  (2005-10-27 22:04:14)
 ·openssl怎样创建个人证书  (2005-10-27 22:04:01)
 ·OpenLDAP简介  (2005-10-27 22:03:47)

Copyright © 2005 UnLinux.Com All Rights Reserved