一:说明
以下讨论的是密钥的两种认证模式,至于口令的认证不在本文档的考虑范围,相关的口令认证的文档请阅读本博的其他文章。
另外,有关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~]$sshbob@192.168.1.113
ß-----------输入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_sale100% 00.0kb/s0:00
ok1100%00.0kb/s0:00
ok2100%00.0kb/s0:00
ok3100%00.0kb/s0:00
ok4100%00.0kb/s0:00
7:alice查看一下自己的宿主目录,文件和文件夹都已经安全的复制过来了,很安全
[alice@station01~]$ls
Desktopfile_okfile_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.pubbob@192.168.1.113:/home/bob/.ssh/
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 ~]$sshbob@192.168.1.113
[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.pubbob@192.168.1.113:/home/bob/.ssh/
6:bob得到了新的公钥,并将新的公钥覆盖了原来的公钥
[bob@station02 .ssh]$cat id_dsa.pub >authorized_keys
7:现在alice要进入bob的账户之前需要一个私钥密码短语,请看下面提示
[alice@sation01 ~]$sshbob@192.168.1.113
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验证的实现