全部博文(191)
分类: LINUX
2009-06-29 11:24:17
一:说明
以下讨论的是密钥的两种认证模式,至于口令的认证不在本文档的考虑范围,相关的口令认证的文档请阅读本博的其他文章。
另外,有关SSH的基础方面的知识也不在本文档的讲解范畴,也请查阅本博的另外的相关文档,或查阅其他的网络上介绍的有关SSH基础知识的文档。
下面就开始讲解:
二:使用无密码短语的SSH的验证
1:用户alice和bob
2:用户alice使用的的主机是station01;用户bob使用的主机是station02
3:station01的ip是192.168.1.112 ;station02的ip是192.168.1.113
4:用户alice和bob使用ssh来进行安全的通讯,安全的传输数据
5:如果alice知道bob的密码,就可以ssh进入bob的账户
[alice@station01~]$ssh
password: ß-----------输入bob的秘密
[bob@station02~]$ ß------------------进入了bob的账户
6:bob有一个文件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
7:alice 查看一下自己的宿主目录,文件和文件夹都已经安全的复制过来了,很安全
[alice@station01~]$ls
Desktop file_ok file_sale
8:现在alice想使用一种更加安全的验证模式,即无密码短语的密钥的验证模式
9:alice生成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~]$
10:alice的账户生成了私钥和公钥,分别是 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
12:bob的隐含目录.ssh已经收到了alice的公钥id_dsa.pub
13:bob接下来要做什么?做两件事情
14:第一件事是把id_dsa.pub改名为authorized_keys(配置文件sshd_config规定要改)
[bob@station02 .ssh]$cat id_dsa.pub > authorized_keys
15:第二件事情是把authorized_keys的全权限改为400或600皆可
[bob@station02 .ssh]$chmod 400 authorized_keys
16:现在alice进入bob的账户就不需要密码了,alice很满意自己的成果
[alice@station01 ~]$ssh
[bob@station02 ~]$ ß------------------无须输入密码就进入了bob的账户
17:bob进行同样的配置,也可以这样进入alice的账户,略过
18:以上就是无密码短语的SSH验证的实现
三:使用带密码短语的SSH验证
1:一件很危险的事情,如果有人设法得到了alice的密钥,那么这个人就拥有进入bob账户的权力
2:给alice的密钥关联一个密码短语就会带来安全
3:如何来做这件事情,请看alice的操作,让我们拭目以待吧
4:alice打算重新生成新的密钥对,并且使用密码短语生成,将覆盖原来的密钥
[alice@station01 ~]$ssh-keygen –t dsa
…………………………………….. enter 默认路径
…………………………………… yes 覆盖原来的密钥
………………………………….. passphrase 这就是密钥短语
………………………………….. passphrase 这就是密钥短语
5:将刚才生成的新的公钥发送给bob
[alice@station01 .ssh]$scp id_dsa.pub
6:bob得到了新的公钥,并将新的公钥覆盖了原来的公钥
[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验证的实现