SSH-PuTTY–詳細使用教程(三)
最近做SSH代理,在網上搜尋了一些教程,在Putty的使用方面,下面的教程堪稱最全面詳細了,也轉來供有需要的朋友的參考,自己也做一份記錄保存以便日後參考。全文教程分四個部份發布,這是第三部分。 原文摘自:樂趣思 Windows下SSH客服端PuTTY–詳細使用教程(三)
備份 PuTTY 的設置
用 PuTTY 最不爽的就是,它把所有的設置都保存到註冊表了,本來這不是什麼問題。但是難免會重裝一下機器,用下面的命令可以備份 PuTTY 的所有設置。 putty把配置都保存在註冊表裡,打開CMD隨便找個路徑,然後輸入以下命令即可在當前目錄下得到備份的reg文件
regedit /e puttycfg.reg "HKEY_CURRENT_USER\Software\SimonTatham\PuTTY"
刪除 PuTTY 的設置
如果只是在其他機器上臨時用了一個 PuTTY,用完以後想刪除 PuTTY 的配置,就在控制台里輸入如下的命令:
putty.exe –cleanup
用 PuTTYgen 來生成密鑰,以後可以不用密碼登錄伺服器了
PuTTYgen 是密鑰生成器,用來生成一對公鑰和私鑰供 PuTTY、PSCP、Plink、Pagent 來使用。直接運行 PuTTYgen 可以看到如下的界面。

點擊 Generate 按鈕就開始生成一個公鑰和私鑰對,生成完畢後,點下面的 Save private key 就可以把私鑰保存起來,副檔名是 .ppk 的文件。Load 按鈕可以把先前保存的私鑰重新打開,然後做些修改,比如修改註解和私鑰口令,或者把 PuTTY 格式的私鑰轉換為OpenSSH 格式的。
開始用 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 中用指令
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 這個文件時,你可以用如下的命令來修改,確保所有的文件屬性和許可權無誤
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,這是密鑰的註解,一定要修改。因為這個密鑰是給自己用的,所以最起碼要輸入自己的名字,用默認的註解很容易和其他人的密鑰混淆的。如果擔 心自己的密碼忘記了,可以在後面加上密碼提示,當然了,不要讓別人用註解猜出你的密鑰口令。比如,我可以把註解修改為
ChaiFeng [20061120] w.z.
後面的 w.z. 就是我的密碼提示,能猜出來么?呵呵

輸入註解,上面的公鑰也會隨之發生變化。
現在最重要的是,輸入自己的密鑰口令。就是 Key passphrase 和 Confirm passphrase 這個兩個輸入框。如果不輸入口令,直接保存私鑰會看到這個提示。為了安全起見還是輸入口令吧,要不任何人得到這個私鑰都可以不用口令登入系統了。

最後單擊 Save private key 來保存私鑰吧,保存到自己認為安全的地方,比如存放到私人的 USB 快閃記憶體盤上。需要登錄時,插上 USB 快閃記憶體盤。登錄完畢後就可以把 USB 快閃記憶體盤取下來,哈哈,這樣子就比較安全了。大家也注意到了,還有個 Save public key 按鈕,這個是保存 SSH2 格式的公鑰,有些 SSH 伺服器要求用這種格式的公鑰文件。一般情況下,我們是不需要的,所以這裡也就保存了。以後還想的話,就用 PuTTYgen 把私鑰 Load 出來,然後再保存也可以。
用密鑰登錄伺服器的流程
上面雜七雜八的說了一堆創建密鑰時的事情,大家會不會已經有些亂了呢?我把這個過程再羅列一遍:
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 這些,我們可以實現很多工作的自動化進行。完全不需要每次輸入用戶名、口令、輸入又長又多的命令,再做一些煩躁的文件備份,最後還得記得註銷系統,難道不 覺得麻煩么?這一切煩惱很快就會遠離我們了,繼續往下看吧。
原文標題:SSH-PuTTY–詳細使用教程(三) - 美博園
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。
網 友 留 言
1條評論 in “SSH-PuTTY–詳細使用教程(三)”這裡是你留言評論的地方
QQ群159429818