SSH服務(wù)支持一種安全認(rèn)證機(jī)制,即密鑰認(rèn)證。所謂的密鑰認(rèn)證,實(shí)際上是使用一對(duì)加密字符串,一個(gè)稱(chēng)為公鑰(public key), 任何人都可以看到其內(nèi)容,用于加密;另一個(gè)稱(chēng)為密鑰(private key),只有擁有者才能看到,用于解密。 通過(guò)公鑰加密過(guò)的密文使用密鑰可以輕松解密,但根據(jù)公鑰來(lái)猜測(cè)密鑰卻十分困難。 ssh 的密鑰認(rèn)證就是使用了這一特性。服務(wù)器和客戶(hù)端都各自擁有自己的公鑰和密鑰。 如何使用密鑰認(rèn)證登錄linux服務(wù)器呢?
首先使用工具 PUTTYGEN.EXE 生成密鑰對(duì)。打開(kāi)工具PUTTYGEN.EXE后如下圖所示:
該工具可以生成三種格式的key :SSH-1(RSA) SSH-2(RSA) SSH-2(DSA) ,我們采用默認(rèn)的格式即SSH-2(RSA)。Number of bits in a generated key 這個(gè)是指生成的key的大小,這個(gè)數(shù)值越大,生成的key就越復(fù)雜,安全性就越高。這里我們寫(xiě)2048.
然后單擊Generate 開(kāi)始生成密鑰對(duì):
注意的是,在這個(gè)過(guò)程中鼠標(biāo)要來(lái)回的動(dòng),否則這個(gè)進(jìn)度條是不會(huì)動(dòng)的。
到這里,密鑰對(duì)已經(jīng)生成了。你可以給你的密鑰輸入一個(gè)密碼,(在Key Passphrase那里)也可以留空。然后點(diǎn) Save public key 保存公鑰,點(diǎn) Save private Key 保存私鑰。筆者建議你放到一個(gè)比較安全的地方,一來(lái)防止別人偷窺,二來(lái)防止誤刪除。接下來(lái)就該到遠(yuǎn)程linux主機(jī)上設(shè)置了。
1)創(chuàng)建目錄 /root/.ssh 并設(shè)置權(quán)限
[root@localhost ~]# mkdir /root/.ssh mkdir
命令用來(lái)創(chuàng)建目錄,以后會(huì)詳細(xì)介紹,暫時(shí)只了解即可。
[root@localhost ~]# chmod 700 /root/.ssh chmod
命令是用來(lái)修改文件屬性權(quán)限的,以后會(huì)詳細(xì)介紹。
2)創(chuàng)建文件 / root/.ssh/authorized_keys
[root@localhost ~]# vim /root/.ssh/authorized_keys vim
命令是編輯一個(gè)文本文件的命令,同樣在后續(xù)章節(jié)詳細(xì)介紹。
3)打開(kāi)剛才生成的public key 文件,建議使用寫(xiě)字板打開(kāi),這樣看著舒服一些,復(fù)制從AAAA開(kāi)頭至 “---- END SSH2 PUBLIC KEY ----“ 該行上的所有內(nèi)容,粘貼到/root/.ssh/authorized_keys 文件中,要保證所有字符在一行。(可以先把復(fù)制的內(nèi)容拷貝至記事本,然后編輯成一行載粘貼到該文件中)。在這里要簡(jiǎn)單介紹一下,如何粘貼,用vim打開(kāi)那個(gè)文件后,該文件不存在,所以vim會(huì)自動(dòng)創(chuàng)建。按一下字母”i”然后同時(shí)按shift + Insert 進(jìn)行粘貼(或者單擊鼠標(biāo)郵件即可),前提是已經(jīng)復(fù)制到剪切板中了。粘貼好后,然后把光標(biāo)移動(dòng)到該行最前面輸入ssh-ras ,然后按空格。再按ESC,然后輸入冒號(hào)wq 即 :wq 就保存了。格式如下圖:
4)再設(shè)置putty選項(xiàng),點(diǎn)窗口左側(cè)的SSh –> Auth ,單擊窗口右側(cè)的Browse… 選擇剛剛生成的私鑰, 再點(diǎn)Open ,此時(shí)輸入root,就不用輸入密碼就能登錄了。
如果在前面你設(shè)置了Key Passphrase ,那么此時(shí)就會(huì)提示你輸入密碼的。為了更加安全建議大家要設(shè)置一個(gè)Key Passphrase。