使用 putty(ssh) 密匙 安全 登錄 服務器 PUTTY 主頁 : http://www.chiark.greenend.org.uk/~sgtatham/putty/ 參考網頁: http://www.chinaunix.net/jh/" name="description" />
MILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用putty(ssh)密匙安全登錄服務器
PUTTY 主頁 :http://www.chiark.greenend.org.uk/~sgtatham/putty/
參考網頁:http://www.chinaunix.net/jh/5/245314.html
http://blog.blogchina.com/article_125271.704722.html
我們暫且選用SSH1協議,后面討論使用SSH2協議與使用SSH1協議設置上的不同。
第一步:生成密匙
點擊Generate生成密匙,生成后 的Key passphrase 和 Confirm passphrase 兩項可以保持為空 ,passphrase是用來保護私匙的密碼,
如果沒什么特別高的安全要求就不用了,免得登錄時還要輸入一次密碼。后面討論如果輸入passphrase,也可以自動登錄系統。
點擊 Save public key 按鈕和 Save private key 按鈕分別保存公匙和私匙
例如 id_rsa1.pub 和 id_rsa1.prv。
第二步:上傳密匙
用自己的帳號登錄遠程系統,然后執行下面的命令:
cd ~
mkdir .ssh
chmod 700 .ssh
cat id_rsa1.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
第三步:設置Putty
啟動Putty,設置好session的各項參數(如IP address,protocol選擇SSH),然后從左邊選擇SSH,”Preferred SSH protocol version:”,
這時我們用的是SSH1協議,那么我們就選擇協議版本1,再“SSH->Auth”,”Private key file for authentication:” 點擊 Browse 按鈕,選擇 id_rsa1.prv 文件。
再從左邊選擇 Session,然后點擊 Save 按鈕把修改保存下來。然后點擊Open 按鈕就可以登錄了。
如果上面的操作都沒有問題,那這時應該就自動登錄了,無需輸入密碼。 正常情況下會顯示如下:
login as: root
Authenticating with public key "rsa-key-20050328"
Last login: Mon Mar 28 14:39:13 2005 from 192.168.0.2
有了上面第二行的信息,表明你已經正常啟用SSH通訊了。
======================================================================
其它問題:
一,使用SSH2協議
如果要用SSH2協議,需要修改一下 /etc/ssh/ssh_config 文件,把#Protocol 2,1 這一行前面的#字符去掉,默認也是先是ssh2,
再是ssh1,實際上不除去#注釋也是可以的。
用puttygen.exe生成SSH2協議格式的密匙(操作方法同上),上傳到.ssh/authorized_keys文件時,需作如下修改,
因為puttygen.exe和bsd/Linux生成的SSH2密匙格式不一樣。
例如puttygen.exe生成的公匙是id_rsa2.pub
[root@mail .ssh]# cat id_rsa2.pub
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20050328"
AAAAB3NzaC1yc2EAAAABJQAAAIEAtZgDykOOegKu6sCGzxpzA2CwB5o2X37FM4lg
41LXw3DR2/7+aBQNYDez3BWkGIluyfuyWYlw21bEzUiJhJ9/8tX5FUJLBYr/ELtq
jI08dfhHaRjVM8cRQX7fv6jCNIuyEKlml9QuFdIOIX3bS5dkAHkk9GKMgaMISK44
zB4qUfM=
---- END SSH2 PUBLIC KEY ----
而BSD/Linux生成的ssh2格式是
[root@linuxwht .ssh]# cat id_rsa.pub
ssh-rsa AAAB3NzaC1yc2EAAAABIwAAAIEAsD4qEibcK1e9ZgFX6bahxnU/It5MjC/7U56n
OOZ0MDf+LHU7bWo3M6XH/mp1KeTRrHIPtmEl2PTkf9/3NffNtBdAkSJ/sWoPoaeJlShcvK2
wzOsrre4FyJRRUtl2jdCDJxRX0Cu2GV/aNphVQoAuU0lj7/55eladpO8/jr14adE=
所以照著Linux默認的格式改一下就可以了。
如果沒有 puttygen.exe,那么可以用 bsd/linux 自帶的 ssh-keygen 生成密匙,命令格式如下:
ssh-keygen -b 密匙長度 -t 密匙類型
密匙類型可以是:rsa1 (對應SSH1 RSA)、rsa 和 dsa (對應SSH2)
如:ssh-keygen –b 1024 –t rsa
默認是生成的~/.ssh/id_rsa文件。
不過 ssh-keygen 生成的SSH2密匙和putty的密匙格式不同,無法直接使用,必須用 puttygen.exe 轉換一下。
所以大家還是用 rsa1 好了,反正一般用途也沒什么區別。
二,讓Putty顯示中文
啟動putty
windows -> appearance -> font setting -> change...
將putty的默認字體設置為"新宋體" 小四
連接到服務器以后輸入:
export LANG=zh_CN.GB2312
更改環境變量。
三,設置passphrase后,讓系統自動登錄
打開pageant.exe,右擊右下角的pageant.exe的圖標,"add key",選擇剛剛生成的私匙如id_rsa2.ppk,OK,
只要打開pageant.exe,以后就不用輸入passphrase,系統就可以自動登錄了。
pageant 的作用是將解加密的 private key 放在內存里,需要的時候調用。
======================================================================
可能出現的幾種問題:
1、Server refused our key
公匙和私匙不匹配,或者沒有 authorized_keys 文件
解決方法:這個問題大多是使用puttygen.exe生成ssh2格式的密匙和Linux上面的不一樣,
照著上面的改(只是增加ssh-rsa)就可以了。
2、Unable to use key file "id_rsa1.prv" (SSH1 private key)
私匙文件的格式不正確或登錄類型沒有設置正確
解決方法:打開puttyàSSH選項時,“Preferred SSH protocol version:”,這時如果你用SSH1協議,
就選擇“1”,如果你使用SSH2協議就選擇“2”,這個大多是你生成的是SSH1協議的密匙,
而putty登錄類型選擇為protocol 2。
=================================================