前言:
在現代密碼體制中加密和解密是采用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,并且必須妥善保管和注意保密。
公鑰私鑰的原則:
一個公鑰對應一個私鑰。
密鑰對中,讓大家都知道的是公鑰,不告訴大家,隻有自己知道的,是私鑰。
如果用其中一個密鑰加密資料,則隻有對應的那個密鑰才可以解密。
如果用其中一個密鑰可以進行解密資料,則該資料必然是對應的那個密鑰進行的加密。
非對稱密鑰密碼的主要應用就是公鑰加密和公鑰認證,而公鑰加密的過程和公鑰認證的過程是不一樣的。
實驗環境:
(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