文檔名稱(chēng):ssh-不用密碼即可登陸的ssh用戶(hù)
服務(wù)器配置:192.168.0.8 redhat-
文檔地址: http://blog.chinaunix.net/u1/40306/
首先了解一下加密技術(shù),加密技術(shù)通常通過(guò)所謂的一對(duì)公鑰(即public keys 和 private keys)進(jìn)行加密與解密當(dāng)SSH服務(wù)器主機(jī)啟動(dòng)后,主機(jī)會(huì)產(chǎn)生一個(gè)公鑰,而客戶(hù)在與服務(wù)器進(jìn)行連接時(shí),可以通過(guò)客戶(hù)自行產(chǎn)生的密鑰連接服務(wù)器而客戶(hù)端在與服務(wù)器進(jìn)行連接時(shí),可以通過(guò)隨機(jī)產(chǎn)生的密鑰來(lái)連接服務(wù)器,也可以通過(guò)服務(wù)器提供的私鑰來(lái)進(jìn)行連接,這與連接時(shí)候加密版本有關(guān),當(dāng)數(shù)據(jù)由Server端傳送到client時(shí),這些數(shù)據(jù)先經(jīng)過(guò)的公鑰(public key)進(jìn)行加密,所以在傳輸過(guò)程中這些數(shù)據(jù)是加密的,等這些經(jīng)過(guò)公鑰(public key)加密后,就可以通過(guò)所謂的私鑰進(jìn)行解秘。SSH有兩種
版本的連接模式
SSH version 1
每臺(tái)機(jī)器都可以使用RSA加密方式產(chǎn)生的一個(gè)1024位的RSA Key,這個(gè)RSA的加密方法來(lái)產(chǎn)生公鑰與鑰方法,version 1 的整個(gè)連接簡(jiǎn)單加密步驟如下:
1. 每次SSH daemon(sshd)啟動(dòng)是時(shí)都產(chǎn)生一個(gè)768位的公鑰(或server key)并放在Server中
2. 若有的客戶(hù)請(qǐng)求連接,server會(huì)將這個(gè)公鑰穿給客戶(hù),Client通過(guò)對(duì)比本身的RSA加密方法來(lái)確認(rèn)這個(gè)公鑰
3. 在Client接收這個(gè)768位的server key 之后 client自己會(huì)產(chǎn)生一個(gè)256位的私鑰(host key),并且以加密方式將server key 與host key湊成完整的key
并把這傳給server
4. 之后進(jìn)行連接就以這個(gè)1024位的key進(jìn)行數(shù)據(jù)的傳遞
5. clinet端的256位是隨機(jī)產(chǎn)生的,所以你本次連接于下次連接使用的Key是不一樣的。
SSH version 2
與version 1 不同的是,version 2 中將不產(chǎn)生server key,所以,當(dāng)client端連接到Server端是,兩者通過(guò)Diffie-Hellman的密鑰交換產(chǎn)生一個(gè)共享key,之后兩者通過(guò)類(lèi)似Blowfish的算法進(jìn)行同步加密操作
了解完基本的原理以后我們來(lái)做不用密碼即可以登陸的ssh用戶(hù)
我們可以把client產(chǎn)生的key復(fù)制到server中這樣,以后client登陸server時(shí),
由于兩者ssh要連接信號(hào)傳遞中就已經(jīng)對(duì)比過(guò)key,因此可以直接進(jìn)入數(shù)據(jù)傳 輸 接口而不用密碼訪問(wèn)。
1. 首先在client上建立public Key和private key,需要使用ssh-keygen命令
[root@localhost .ssh]# ssh-keygen –t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): <---按enter
Enter same passphrase again: <---按enter
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:
e8:
2.
并修改權(quán)限為user可讀
3 最后,將Public Key 放在任何一個(gè)你想登陸主機(jī)server中的某user的宿主目錄
下的.ssh/子目錄人證文件中即可。
4 現(xiàn)在192.168.0.6是client 想連接到192.168.0.8上用ssh-keygen –t rsa產(chǎn)生key
(-t參數(shù)是使用和種密碼)這時(shí)在我的/root/.ssh/里邊產(chǎn)生了三個(gè)文件分別是公鑰
(id_rsa.pub)與私鑰(id_rsa)另外要注意的就是id_rsa文件權(quán)限他必須是-rw------否則回不安全,id_rsa.pub就是公鑰,把這個(gè)放到server目錄上去用命令
[wds@localhost .ssh]# sftp id_rsa.pub root@192.168.0.8
[wds@localhost .ssh]# passwd
[wds@localhost .ssh]# put id_rsa.pub
[root@localhost .ssh]# uploading id_rsa.pub to /root/.ssh/
[root@localhost .ssh]# exit
然后到服務(wù)器上去192.168.0.8
[root@localhost .ssh]# ssh –l root 192.168.0.8
[root@localhost .ssh]# cd /root/.ssh/
[root@localhost .ssh]#more id_rsa.pub >> authorized_keys 這樣就可以了
[root@localhost .ssh]#
返回client上192.168.0.6
[root@localhost .ssh]# exit
[root@localhost .ssh]# ssh 192.168.0.8
這樣無(wú)需要密碼直接登陸到服務(wù)器上了
聯(lián)系客服