第一步:生成密匙
運行puttygen.exe,選擇需要的密匙類型和長度。由於sshd默認使用SSH1 協議,所以最好選擇SSH1(RSA),長度配置為1024就能夠了。
生成後 Key passphrase 和 Confirm passphrase 兩項能夠保持為空,這個東西是用來保護私匙的密碼,假如沒什麼非凡高的安全需要就不用了,免得登錄時還是要輸入一次密碼。
點擊 Save public key 按鈕和 Save private key 按鈕保存公匙和私匙,例如 id_rsa1.pub 和 id_rsa1.prv。
第二步:上傳密匙
用自己的帳號登錄遠程系統,然後執行下面的命令:
cd ~
mkdir .ssh
cd .ssh
cat > authorized_keys
(此時用記事本打開 id_rsa1.pub 文檔,選中任何內容,按 Ctrl C 復制到剪貼板中,然後在Putty窗口中按Shift Ins粘貼)(再按Ctrl D鍵,完成文檔的創建)
第三步:配置Putty
啟動Putty,配置好session的各項參數,然後從左邊選擇“SSH->Auth”,點擊 Browse 按鈕,選擇 id_rsa1.prv 文檔。
再從左邊選擇 Session,然後點擊 Save 按鈕把修改保存下來。然後點擊Open 按鈕就能夠登錄了。
假如上面的操作都沒有問題,那這時應該就自動登錄了,無需輸入密碼。
假如要用SSH2協議,需要修改一下 /etc/ssh/ssh_config 文檔,加入:
Protocol 2,1
假如沒有 puttygen.exe,那麼能夠用 bsd/linux 自帶的 ssh-keygen 生成密匙,命令格式如下:
ssh-keygen -b 密匙長度 -t 密匙類型
密匙類型能夠是:rsa1 (對應SSH1 RSA)、rsa 和 dsa (對應SSH2)
但是 ssh-keygen 生成的SSH2密匙和putty的密匙格式不同,無法直接使用,必須用 puttygen.exe 轉換一下。所以大家還是用 rsa1 好了,反正一般用途也沒什麼區別。
可能出現的幾種問題:
1、Server refused our key
公匙和私匙不匹配,或沒有 authorized_keys 文檔
2、Unable to use key file "id_rsa1.prv" (SSH1 private key)
私匙文檔的格式不正確