使用putty產生密鑰和登陸
根據公開金鑰認證的原理(見後面說明),認證雙方任何一方都可製作該鑰匙對,並且只要認證方有被認證方的公開金鑰資訊,即可匹配成功。
這裡,我們先以Windows上的putty登陸Linux伺服器為例說明。所以,該金鑰組由putty製作。
繼續前,請確保您已經把整個putty包都下載完:
其中包括:PuTTY、Puttygen、PSCP、Plink、Pagent 等工具。
1、使用puttygen製作密鑰
啟動puttygen工具,為相容OpenSSH密鑰,選擇“SSH2 RSA”:
單擊 產生 按鈕,並使用滑鼠在 空白地區內移動,以獲得足夠的隨機資料供產生密鑰使用:
※期間,那我們要移動滑鼠,直到進度條走滿為止。
完成後的視窗如下:
其中:
密鑰注釋:不會影響密鑰的有效性,但可作為自己用於區別其他密鑰的參考;
兩次輸入密鑰密碼
隨後,點擊 儲存私密金鑰 。
如果沒有輸入密鑰密碼,會有警告:
輸入私密金鑰的檔案名稱:
※公開金鑰資訊可以不用保留在本地的,puttygen可以從私密金鑰得到它,驗證時也不會用到。
2、拷貝公開金鑰資訊
公開金鑰資訊:
需要把該資訊拷貝到Linux伺服器的特定檔案中:~/.ssh/authroized_keys
其中,“~”表示對應使用者的主目錄,以root為例。
若.ssh目錄不存在,請建立它,並把公開金鑰資訊寫入檔案中:
# mkdir ~/.ssh
# chmod 700 ~/.ssh
# vi ~/.ssh/authorized_keys
# chmod 644 ~/.ssh/authorized_keys
※請務必留意:檔案和目錄的許可權問題,使用者必須是將要進行認證的使用者,而許可權必須是0644,也就是禁止其他人對該檔案寫入資訊。(否則,某些有心人把自己的公開金鑰寫入這裡,他也可以無密碼進來了)
因為,通常umask是0022或0002的,所以請使用chown和chmod修改為對應的許可權咯。
4、使用putty使用密鑰登陸
對putty進行一些簡單配置,即可使用密鑰登陸Linux伺服器。
選擇SSH—認證,選擇剛儲存的私密金鑰檔案
然後點擊開啟即可
基於密鑰認證的配置
# vi /etc/ssh/sshd_config
PasswordAuthentication no //禁止使用基於口令認證的方式登陸
PubkeyAuthentication yes //允許使用基於密鑰認證的方式登陸
# /etc/init.d/sshd reload