1.使用PuTTY安裝目錄里的puttygen.exe工具。先點“生成(Generate)”,然后隨意移動鼠標直到進度條填滿,即可生成密鑰


公鑰部分:把上邊那一段文字全選->復制備用。(不要點擊“保存公鑰(Save Public Key)”,點那個保存的公鑰沒有用!)
私鑰部分:點擊“保存私鑰(Save Private Key)”,保存一個.ppk文件。
注:別給密鑰文件加密碼——加了密碼,每次使用.ppk文件時就都需要提供,就背離自動登錄這個目的。
自動登錄
將公鑰和私鑰分別告知linux和PuTTY,就可以實現自動認證。
公鑰文件:放在linux的一個文件里。
請先用PuTTY,輸用戶名密碼登錄linux。使用命令 nano ~/.ssh/authorized_keys 或者 vi命令 vi ~/.ssh/authorized_keys編輯authorized_keys文件。——通常這個文件不存在,nano或vi會打開一個空文件。
(如果沒有.ssh文件夾 ,可能是你沒有用root賬號ssh登陸過,登陸一次應該就會自動生成了。)
把剛才COPY下來的公鑰粘到這個文件里去。(PuTTY中按右鍵是粘貼。注意不要人為換行.保持原來生成的樣子)

私鑰文件:提供給PuTTY。
每次PuTTY登錄時,在“連接 -> SSH -> 認證”選項中,“認證私鑰文件”選擇剛才的.ppk文件就可以自動登錄了。
(英文版:Connection -> SSH -> Auth, Private keyfile for authentication)

到此,實現window主機登錄linux的操作,但是如果希望這個private key使用在linux A主機上,linux主機A不用密碼也能登錄放有public key的Linux主機B,則還需要下面的操作
運行puttygen.exe,load 前面保存的privatekey.ppk
選擇菜單Conversions->Export OpenSSH key,保存成文件id_rsa,上傳到這台(一直在操作的機器)linux主機 A的~/.ssh/目錄下(添加到對應的authorized_keys里面),這樣這台主A就可以不用密碼登陸到前面放有public key的linux主機 B 上了。
修改權限:
$ chmod 700 /root/.ssh【修改文件權限,700表示為用戶設置讀、寫、執行的權限(開頭的 7),而不給組和其他用戶的權限(后面的兩個 0)】
$ chmod 600 /root/.ssh/authorized_keys
$ chmod 600 /root/.ssh/id_rsa

參考:http://jingpin.jikexueyuan.com/article/56391.html
案例:
A單向免登錄(免密碼)-->B
C單向免登錄(免密碼)-->B
D單向免登錄(免密碼)-->B
B上統一保存各個主機的公鑰.


雙向登錄 ,三個必備文件:id_rsa.pub id_rsa authorized_keys
http://www.jb51.net/article/94599.htm
