首先要知道,遠程登入時,進行身份認證的方式有兩種:公開金鑰;密碼。公開金鑰的方式就是用非對稱密碼演算法,使用公私密鑰來進行身份認證。密碼的方式就是輸入存在於遠程電腦上的使用者密碼從而登入。這兩種方式互相獨立,使用認證認證過程中涉及到的passphrase和存在於遠程電腦上的使用者的密碼之間沒有聯絡。
下面是在windows上使用putty遠程登入免輸密碼的操作方法。
第一步,產生一對密鑰。這得使用putty提供的puttygen工具。開啟puttygen,它預設的密鑰類型是ssh-2,預設的密鑰大小是1024位元,都接受預設值,點擊generate按鈕。用滑鼠在puttygen的空白地區上隨意移動(不移動的話進度條就會停下來),完成密鑰的產生。
這之後,會顯示出產生的public key, key fingerpint, key comment等資訊,可以修改key comment以及設定key passphrase,因為我們要免輸密碼,所以就設定passphrase為空白,所謂的免密碼,免的就是這裡的密碼。
第二步,儲存這對產生的密鑰。puttygen上有相應的按鈕,在本例中,把公開金鑰儲存為test.pub檔案,私密金鑰被儲存為test.ppk檔案。
第三步:在pageant中載入私密金鑰檔案。開啟putty附帶的pageant,載入剛才產生的test.ppk檔案。
第四步:把公開金鑰檔案傳送到遠程開啟sshd的電腦上。用傳統方式登入到遠程電腦上,在本例中我們以root使用者登入,進入root的$HOME/.ssh目錄下,開啟authorized_keys檔案,如果沒有就建立一個,新增一行內容:ssh-rsa xxxx,其中xxxx是剛才的公開金鑰(第二步中儲存的公開金鑰檔案中的BEGIN和END之間的那部分)。ssh-rsa表示使用的是rsa演算法。這些必須是同一行,不能分成多行。
現在一切就緒,本例中遠程電腦IP是192.168.0.4,注意putty中的設定,如:
斷行符號就登入了。如果是其他使用者,比如jcwkyl,那就在putty的host name中寫jcwkyl@192.168.9.4。
請特別注意許可權的設定:
chmod 600 $HOME/.ssh/authorized_keys
chmod g-w $HOME $HOME/.ssh/ $HOME/.ssh/authorized_keys
以上方法在redhat 10和cent os5上測試通過。
附:順便貼一個在搜尋這個主題時發現的一個挺好的網站的連結:
http://doc.linuxpk.com/1112.html
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/jcwKyl/archive/2009/09/17/4562599.aspx