最近想用 Public Key Authentication 方法連接公司的 server,可是一直都碰上 “Server Refused Our Key" 的問題。經過一輪 Google 後,大致明白原來問題出於用 puttygen 產生的 Public Key 裡頭有 OpenSSH 認不出的一堆無謂文字;所以別要用 puttygen 裡 “Save public key" button 來產生 Public Key,而改為手動儲存。
以下是手動產生 Public Key 的方法:
1) 用 puttygen 產生 keys
2) 儲存 Private Key 在本機任何一個安全的地方(說完也覺得有點多餘)
3) 在 puttygen 頂部, “Public key for pasting into OpenSSH authorized_keys file" 下面的方格裡,那堆以 “ssh-rsa …" 為首的 codes 直接 Copy and paste 到一個純文字檔案裡
4) 在純文字檔案裡,把每行的 new line character 刪除掉,也就是說,讓整段 code 都在同一行裡
5) 把純文字檔儲存,檔案名稱可隨意(當然你不會想用中文檔名)。這裡就假設為 id_dsa
6) 用你喜歡的方法,把 id_dsa 抄到 server 上,home directory 下的 .ssh
7) cat id_dsa >> authorized_keys。如果你本來就沒有 authorized_keys,就改為 cat > authorized_keys
8) 要留意整個 .ssh 的 persmission,為了方便,我會把 .ssh 及以下的 sub-directories 改為700
至此,你的 Public Key 已經完成了,現在你可以再試試用 Putty 連線你的 server 試試看了。
解決SSH裡"Server Refused Our Key"的方法 | com.wp.jerrykwok