Chinaunix首页 | 论坛 | 博客
  • 博客访问: 688461
  • 博文数量: 191
  • 博客积分: 10987
  • 博客等级: 上将
  • 技术积分: 1925
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-22 09:52
文章分类

全部博文(191)

文章存档

2014年(10)

2011年(11)

2010年(38)

2009年(132)

分类: LINUX

2009-06-29 11:24:17

一:说明

以下讨论的是密钥的两种认证模式,至于口令的认证不在本文档的考虑范围,相关的口令认证的文档请阅读本博的其他文章。

另外,有关SSH的基础方面的知识也不在本文档的讲解范畴,也请查阅本博的另外的相关文档,或查阅其他的网络上介绍的有关SSH基础知识的文档。

下面就开始讲解:

二:使用无密码短语的SSH的验证

1:用户alicebob

2:用户alice使用的的主机是station01;用户bob使用的主机是station02

3station01ip192.168.1.112 station02ip192.168.1.113

4:用户alicebob使用ssh来进行安全的通讯,安全的传输数据

5:如果alice知道bob的密码,就可以ssh进入bob的账户

  [alice@station01~]$ssh

  password:         ß-----------输入bob的秘密

  [bob@station02~]$            ß------------------进入了bob的账户

6bob有一个文件file_sale和一个文件夹(里面的文件很重要)file_ok需要复制给alice

  [bob@station02~]$exit         ß-----------------退出bob的账户

  [alice@station01]$scp bob@192.168.1.113:/home/bob/file_sale /home/alice/

  :

   file_sale                         100%   0   0.0kb/s      0:00

  [alice@station02~]$scp -r

 :

   ok1                             100%   0    0.0kb/s      0:00

   ok2                             100%   0    0.0kb/s      0:00

   ok3                             100%   0    0.0kb/s      0:00

   ok4                             100%   0    0.0kb/s      0:00

7alice 查看一下自己的宿主目录,文件和文件夹都已经安全的复制过来了,很安全

  [alice@station01~]$ls

   Desktop     file_ok    file_sale

8:现在alice想使用一种更加安全的验证模式,即无密码短语的密钥的验证模式

9alice生成ssh公钥和私钥对

   [alice@station01~]$ssh-keygen –t dsa

Generating public/private dsa key pair.

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

..................................           enter

………………………………            enter  

   ……………………………………………………………

   …………………………………………………………………….

    [alice@station01~]$

10alice的账户生成了私钥和公钥,分别是 id_dsa id_dsa.pub

    所在目录路径:/home/alice/.ssh/id_dsa

                  /home/alice/.ssh/id_dsa.pub

11:现在要把alice的公钥想办法给bob ,使用scp命令

     [alice@station01 .ssh]$scp id_dsa.pub

12bob的隐含目录.ssh已经收到了alice的公钥id_dsa.pub

13bob接下来要做什么?做两件事情

14:第一件事是把id_dsa.pub改名为authorized_keys(配置文件sshd_config规定要改)

        [bob@station02 .ssh]$cat id_dsa.pub > authorized_keys

15:第二件事情是把authorized_keys的全权限改为400600皆可

        [bob@station02 .ssh]$chmod 400 authorized_keys

16:现在alice进入bob的账户就不需要密码了,alice很满意自己的成果

        [alice@station01 ~]$ssh

        [bob@station02 ~]$     ß------------------无须输入密码就进入了bob的账户

17bob进行同样的配置,也可以这样进入alice的账户,略过

18:以上就是无密码短语的SSH验证的实现

 

三:使用带密码短语的SSH验证

1:一件很危险的事情,如果有人设法得到了alice的密钥,那么这个人就拥有进入bob账户的权力

2:给alice的密钥关联一个密码短语就会带来安全

3:如何来做这件事情,请看alice的操作,让我们拭目以待吧

4alice打算重新生成新的密钥对,并且使用密码短语生成,将覆盖原来的密钥

   [alice@station01 ~]$ssh-keygen –t dsa

    ……………………………………..    enter  默认路径

    ……………………………………    yes    覆盖原来的密钥

    …………………………………..     passphrase  这就是密钥短语

    …………………………………..     passphrase  这就是密钥短语

5:将刚才生成的新的公钥发送给bob

   [alice@station01 .ssh]$scp id_dsa.pub

6bob得到了新的公钥,并将新的公钥覆盖了原来的公钥

   [bob@station02 .ssh]$cat id_dsa.pub >authorized_keys

7:现在alice要进入bob的账户之前需要一个私钥密码短语,请看下面提示

   [alice@sation01 ~]$ssh

   Enter passphrase for key ‘/home/alice/.ssh/id_dsa’ :passphrase ß---输入密码短语

   [bob@sation02 ~]$   ß-------------------进入bob的账户

8:可以使用命令ssh-agent ssh-add来共同管理密码短语的使用,目的是该次会话只需输入一次密码短语就可以了

    先后执行下面命令即可:

    ssh-agent

    ssh-agent bash

    ssh-add

9:以上就是使用密码短语ssh验证的实现

阅读(1075) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~