Linux下ssh加密方式的遠程鏈接

                Linux下ssh加密方式的遠程鏈接
說明:
    1.ssh的加密方式遠程鏈接原理很簡單,就是用戶將本身的公鑰儲存在遠程 
主機上。登陸的時候,遠程主機會向用戶發送一段隨機字符串,用戶用本身的私鑰加密後,再發回來。遠程主機用事先儲存的公鑰進行解密,若是成功,就證實用戶是可信的,直接容許登陸shell,再也不要求密碼。
   2.ssh-agent就是一個密鑰管理器,運行ssh-agent之後,使用ssh-add將私鑰交給ssh-agent保管,其餘程序須要身份驗證的 時候能夠將驗證申請交給ssh-agent來完成整個認證過程。
操做:
 1. [root@tx1 ~]# ssh-keygen -t rsa        //採用rsa的加密方式的公鑰/私鑰對
Generating public/private rsa key pair.    //提示正在生成
Enter file in which to save the key (/root/.ssh/id_rsa):   //詢問輸入私鑰和公鑰放在那裏,Enter
Created directory '/root/.ssh'.                    //私鑰對在這個目錄下
Enter passphrase (empty for no passphrase):       //這裏能夠給私鑰設置密碼(敲Enter可實現自動登陸,登陸時不須要私鑰密碼)
Enter same passphrase again:   //提示再次輸入私鑰密碼,再次回車
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.  //提示公鑰和私鑰已經存放在這個目錄下
The key fingerprint is:        
de:9c:47:95:19:1c:da:83:9f:b2:f8:fd:30:27:70:74  root@tx1.uplooking.com
//提示key的指紋
注:#ssh-keygen -b 1024 -t dsa   //還能夠採用dsa的加密方式
-b  1024 採用長度爲1024字節的公鑰/私鑰對,最長4096字節,通常1024或2048
就能夠了,太長的話加密解密須要的時間也長。
-t  dsa  採用dsa加密方式的公鑰/私鑰對,除了dsa還有rsa方式,rsa方式最短不能小於768字節長度。

2. 
[root@tx1 ~]# cd /root/.ssh
[root@tx1 .ssh]# ls
id_rsa  id_rsa.pub
[root@tx1 .ssh]# ssh 192.168.8.71
The authenticity of host '192.168.8.71 (192.168.8.71)' can't be established.
RSA key fingerprint is 11:21:c7:14:71:a6:68:b3:6c:fb:cd:b2:25:21:bd:9f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.8.71' (RSA) to the list of known hosts.
root@192.168.8.71's password: 
Last login: Wed Feb  6 19:43:02 2013 from 192.168.8.70
[root@tx2 ~]# exit
[root@tx1 .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
這裏爲了說明一下known_hosts這個文件當ssh過其餘機器時就會生成這個文件,再一次ssh時就不會有yes的那個選項了
[root@tx1 .ssh]# scp id_rsa.pub 192.168.8.71:/root/.ssh/authorized_keys
root@192.168.8.71's password: 
id_rsa.pub                                  100%  404     0.4KB/s   00:00    
[root@tx1 .ssh]# ssh 192.168.8.71
Last login: Wed Feb  6 19:43:39 2013 from 192.168.8.70
[root@tx2 ~]# 
這裏我把id_rsa.pub直接更名爲authorized_keys了,若是以前另外一臺機器有這個文件,不要直接更名,先scp過去,而後在另外一臺機器上執行#cat id_rsa.pub >> /root/.ssh/authorized_keys命令,由於authorized_keys可能會保存着其餘的公鑰
 另外一臺機器再作一遍相同操做就能夠相互ssh加密鏈接
注意:  .ssh 的權限必須是700.不然ssh服務器會拒絕登陸
       私鑰的權限必須是600.不然ssh服務器會拒絕登陸
3.把私鑰加密
[root@tx1 ~]# eval `ssh-agent`
Agent pid 14877
[root@tx1 ~]# ssh-add
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
若是以前給私鑰密碼#ssh 192.168.8.71時是須要輸入私鑰密碼的,執行完這兩條命令就不用了,#ssh-add不須要輸入私鑰密碼,這是驗證就交給ssh-agent來管理了
相關文章
相關標籤/搜索