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