備份 PuTTY 的設置
用 PuTTY 最不爽的就是,它把全部的設置都保存到註冊表了,原本這不是什麼問題。可是不免會重裝一下機器,用下面的命令能夠備份 PuTTY 的全部設置 regedit /e PuTTY.config.reg "HKEY_CURRENT_USERSoftwareSimonTathamPuTTY"
vim
刪除 PuTTY 的設置
若是隻是在其餘機器上臨時用了一個 PuTTY,用完之後想刪除 PuTTY 的配置,就在控制檯裏輸入以下的命令: 安全
putty.exe –cleanup
服務器
用 PuTTYgen 來生成密鑰,之後能夠不用密碼登陸服務器了
PuTTYgen 是密鑰生成器,用來生成一對公鑰和私鑰供 PuTTY、PSCP、Plink、Pagent 來使用。直接運行 PuTTYgen 能夠看到以下的界面。
點擊 Generate 按鈕就開始生成一個公鑰和私鑰對,生成完畢後,點下面的 Save private key 就能夠把私鑰保存起來,擴展名是 .ppk 的文件。Load 按鈕能夠把先前保存的私鑰從新打開,而後作些修改,好比修改註釋和私鑰口令,或者把 PuTTY 格式的私鑰轉換爲OpenSSH 格式的。
dom
開始用 PuTTYgen 建立密鑰
單擊 Generate 按鈕,而後你會看到進度條上面有個提示「Please generate some radomness by moving the mouse over theblank area.」,意思就是讓你用鼠標在空白區域隨機移動。隨着鼠標在空白區域的移動,進度條會一直走下去。中止移動鼠標,進度條也就中止了。那咱們就移動鼠 標,直到進度條走滿爲止。
等進度條走完以後,會出現下面的界面
最上面那個大大的只讀文本框裏面是公鑰,用來保存到 OpenSSH 的 authorized_keys 文件中,這個文件中的每一行都是一個公鑰。默認狀況下,這個文件位於 Linux 用戶主目錄的 .ssh/ 子目錄中,若是文件和目錄都不存在,能夠直接建立。可是建立的文件、目錄和用戶主目錄($HOME, $HOME/.ssh, $HOME/.ssh/authorized_keys)的權限有個限制就是對除了本賬戶的其餘全部賬戶都要求是隻讀的,不然的話,即便公鑰、私鑰都匹配 無誤,也是沒法登入系統的。這是 SSH 服務器的一個安全要求,由於若是別的賬戶能夠修改你的 authorized_keys 的話,惡意的增長一個公鑰,那對方不用你的賬戶口令也能以你的賬戶登入系統了。對於一些特殊要求,你能夠在 SSH 服務器的配置文件 sshd_config 中用指令ssh
StrictModes no
來取消這個限制。在 sshd_config 的幫助手冊中能夠看到
StrictModes
Specifies whether sshd should check file modes and ownership of
the user’s files and home directory before accepting login. This
is normally desirable because novices sometimes accidentally
leave their directory or files world-writable. The default is
「yes」.
小技巧:每次修改 authorized_keys 這個文件時,你能夠用以下的命令來修改,確保全部的文件屬性和權限無誤 ide
mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys && chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keys
還有一個要強調的是那個 Key comment,這是密鑰的註釋,必定要修改。由於這個密鑰是給本身用的,因此最起碼要輸入本身的名字,用默認的註釋很容易和其餘人的密鑰混淆的。若是擔 心本身的密碼忘記了,能夠在後面加上密碼提示,固然了,不要讓別人用註釋猜出你的密鑰口令。好比,我能夠把註釋修改成 orm
ChaiFeng [20061120] w.z. ip
後面的 w.z. 就是個人密碼提示,能猜出來麼?呵呵
輸入註釋,上面的公鑰也會隨之發生變化。
如今最重要的是,輸入本身的密鑰口令。就是 Key passphrase 和 Confirm passphrase 這個兩個輸入框。若是不輸入口令,直接保存私鑰會看到這個提示。爲了安全起見仍是輸入口令吧,要不任何人獲得這個私鑰均可以不用口令登入系統了。
最後單擊 Save private key 來保存私鑰吧,保存到本身認爲安全的地方,好比存放到私人的 USB 閃存盤上。須要登陸時,插上 USB 閃存盤。登陸完畢後就能夠把 USB 閃存盤取下來,哈哈,這樣子就比較安全了。你們也注意到了,還有個 Save public key 按鈕,這個是保存 SSH2 格式的公鑰,有些 SSH 服務器要求用這種格式的公鑰文件。通常狀況下,咱們是不須要的,因此這裏也就保存了。之後還想的話,就用 PuTTYgen 把私鑰 Load 出來,而後再保存也能夠。
ci
用密鑰登陸服務器的流程
上面雜七雜八的說了一堆建立密鑰時的事情,你們會不會已經有些亂了呢?我把這個過程再羅列一遍: get
1. 若是沒有公鑰/密鑰對,就用 PuTTYgen 建立一個,已經有了就能夠忽略這一步。一個公鑰/密鑰對能夠用在不
同的服務器上,因此也不須要重複建立,關鍵要有足夠強健的密碼和安全的存放。
2. 象先前同樣輸入賬戶名和口令登陸到主機上。
3. 輸入以下命令,來編輯 authorized_keys 文件
mkdir -p $HOME/.ssh && touch $HOME/.ssh/authorized_keys && chmod go-w $HOME $HOME/.ssh $HOME/.ssh/authorized_keys && vim $HOME/.ssh/authorized_keys
4. 把
這個文本框裏的公鑰粘貼到 vim 中去,須要說明幾點:這個文本框裏的內容是一行的,粘貼到 vim 中時,別忘了按字母 o 這個鍵,不然的話,粘貼進去後,開頭的 ssh-rsa 會變成 sh-rsa,爲何呢?哈哈,想一想吧。爲何不按字母鍵 i 呢?這個在 vim 中不就是插入麼?緣由是我很懶,按字母 o,我能夠節省一次按回車鍵。
雖然按大寫 O 也行,那我不是還得再按一下 Shift 鍵麼?
別忘了,在 PuTTY 中默認的粘貼但是按鼠標右鍵哦,而後按一下 ESC 鍵,而後輸入 :wq 保存退出,等等,你們先彆着急的輸入 :wq,既然輸入冒號還得按下 Shift 鍵,那咱們就乾脆直接兩下大寫的字母 Z,也就是 ZZ。怎麼樣?vim 也同樣保存退出了吧。此次又節省了一次按鍵和兩次尋找字母的移動,把懶得優良傳統再一次在實踐中發揚光大。
5. 若是已經有了私鑰,第4 步裏的那個公鑰忘記保存了,就用 PuTTYgen 把這個私鑰 Load 上去,而後從新複製一下公鑰吧。
6. 在 PuTTY 的配置 Connection->SSH->Auth 這裏面,指定上私鑰,而後記得保存 Session,之後就不須要重複這一步了。
7. 最好也指定上自動登陸的用戶名,還記得這裏嗎?
8. 開始登陸吧,此次你會看到一個不一樣於以往的登陸提示
如今輸入的口令可不是主機上這個帳戶的口令了,而是先前建立的這個密鑰的口令。之後無論這個帳戶的口令是什麼,即便再複雜,也和咱們不要緊了。只要 這個帳戶的 $HOME/.ssh/authorized_keys 文件中,有咱們的公鑰,咱們就隨時用匹配的私鑰均可以登陸了。配合後面提到的 Pagent,咱們連輸入密鑰口令這一步也能夠忽
略過去。
9. 登陸成功了,別忘了按 Ctrl+d 註銷哦。
之後這些步驟就不須要再重複了,只須要打開 PuTTY 後,雙擊一下保存的會話名稱,輸入密鑰口令。
Pagent 加載密鑰,每次開機後只須要輸入一次密鑰口令
終於輪到 Pagent 出場了,雙擊一下 Pagent.exe,嗯,沒反應?再雙擊一下,咦?出來個提示,說已經運行了。
看看右下角吧,在這裏呢
雙擊一下 Pagent 的圖標,出來這樣一個界面。很簡潔的,Add Key 是添加私鑰,Remove Key 是把選中的私鑰從 Pagent
中卸載了。
好,如今單擊 Add Key 按鈕添加私鑰,我把這個演示用的私鑰保存到 C: 了
而後會出現輸入密鑰口令的對話框,輸入正確的密鑰後,單擊 OK
這時,在 Pagent 的窗口中就能看到咱們的私鑰已經裝載上去了。
如今打開 PuTTY,選擇先前保存的 Session,雙擊一下。只要自動登陸用戶名設置上,主機上改賬戶的 authorized_keys 文件裏也有匹配的公鑰。哈哈,發現沒有?徹底不須要口令,咱們已經登陸到系統了。
在 Pagent 的圖標上點右鍵,也能夠快捷的選擇已經保存的會話。
建議你們把 Pagent 放到啓動組裏面,這樣每次一開機,Pagent 自動運行,而後咱們只須要把私鑰裝載一下,而後咱們就能夠一直享受自動登陸系統的樂趣了。再配合上之後會講到的 Plink、PSCP 這些,咱們能夠實現不少工做的自動化進行。徹底不須要每次輸入用戶名、口令、輸入又長又多的命令,再作一些煩躁的文件備份,最後還得記得註銷系統,難道不 以爲麻煩麼?這一切煩惱很快就會遠離咱們了,繼續往下看吧。