前言:
在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
公钥私钥的原则:
一个公钥对应一个私钥。
密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的。
实验环境:
(1)软件包:openssh-server,openssh-client,putty,puttygen
(2)安装ubuntu server 10.4操作系统的机器ubserver5,安装windows xp操作系统的机器一台
实验目的:
(1)在服务器上产生密钥对,把私钥拷到客户机器上,利用putty登录。
(2)在客户机上利用puttygen产生密钥对,把公钥拷到服务器上,利用putty登录。
操作:
1,在服务器ubserver5上安装ssh服务,在安装操作系统时,就可以把这两个软件包都安装上
#sudo dpkg –l openssh-server openssh-client
查看这两个软件包是否安装了,如果没有安装,则有以下命令安装
#sudo apt-get install openssh-server openssh-client
安装了以后在/etc/ssh下就有这么两个文件sshd_config,ssh_config前者是ssh服务的配置文件,后者是ssh客户端的配置文件。
2,完成实验目标一
(1)在服务器上产生密钥对
#ssh-keygen –t rsa
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457484elL9.png"></a>
-t rsa1/rsa/dsa 设置协议的类型
在~/.ssh下就会产生id_rsa私钥,id_rsa.pub公钥
(2)利用winSCP登录到ubserver5,把私钥id_rsa拷下来,用puttygen把id_rsa转换下格式
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457485yxSk.png"></a>
看提示就可以知道要保存下私钥,然后用putty登录。
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457486gbFx.png"></a>
保存私钥
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457487OgwJ.png"></a>
(3)在服务器上修改/etc/ssh/sshd_config文件禁止密码方式登录
同时要有以下设置,启用密钥方式登录
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_128045748882dz.png"></a>
(4)利用putty登录,选择刚才保存的私钥
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457488Pz8l.png"></a>
输入要登录的服务器ubserver5的IP,port为默认的22,这个根据实际的配置做相应的更改
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457489ZEmV.png"></a>
这时就可以登录了
3,完成实验目标二,
(1)利用puttygen产生密钥对
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457491SUuQ.png"></a>
提示,在以下过程中要在空白的地方移动鼠标产生随机数
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457494qKd0.png"></a>
保存公钥
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457495EuTy.png"></a>
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457496Ksn5.png"></a>
(2)利用winSCP把公钥上传到ubserver5的服务器上,并导入~/.ssh/authorized_keys(这个文件若不存在,则要创建这个文件),还要看在/etc/ssh/sshd_config里的设置,是在那个文件进行验证。
<a href="http://xuchengji.blog.51cto.com/attachment/201007/30/160472_1280457497UFlz.png"></a>
#cat gy &gt;&gt; .ssh/authorized_keys
#sudo /etc/init.d/ssh restart
(3)利用putty,并选择私钥进行登录。
本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/363297