SSH相比telnet來說已經是非常安全了,要是再加上RSA驗證的話就更完美了。
這裡產生一對密鑰,並且由Passphrase加密,把公開金鑰放到要登入的伺服器上(某個帳戶home目錄中的.ssh下),私密金鑰由遠程登入者持有,把私密金鑰分發給授權使用者,並告知他們Passphrase。
一旦私密金鑰泄露,還有Passphrase做最後的拖延,此時迅速把伺服器端的公開金鑰刪除,非法者手中的私密金鑰也就作廢了,他們還是不能登入伺服器,保證了安全。
這裡我們使用Windows下最好的遠程終端SecureCRT來做執行個體說明。
開啟串連視窗,建立一個新session,這裡用RSA來取代傳統的密碼驗證。
建立一個session,使用SSH2協議。
登記遠程Linux主機的IP和使用者名稱
給session取個名
開啟session的選項設定
我們用PublicKey來驗證,取消Password,不然優先以密碼驗證!
選擇中PublicKey後,進入右邊的Properties:
預設是Use global public key setting, 我們這裡選擇只針對單個session的key。把公開金鑰私密金鑰都放到C盤,當然也可以放到任何地方,建議不要有中文路徑。最後Create密鑰。
選RSA
Passphrase:類似於密碼,是用來加密RSA密鑰。可以留空,這樣密鑰就不會被加密,登入的時候也就是完全的“免密碼登入”(沒有任何輸入密碼的提示,很痛快!但不推薦。)
Key 長度當然是越長越安全!這裡做測試,預設即可。
不停在此視窗上移動滑鼠,直到密鑰完全產生。這裡晃動滑鼠是為了取隨機數(座標)來產生密鑰。
強烈建議選OpenSSH,因為OpenSSH是免費的,大部分Linux上都是OpenSSH,這樣避免了相容性和法律問題!
圖 Identity是私密金鑰,Identity.pub是公開金鑰
完成,點擊“否”,我們用其他的方式傳到伺服器。
點擊OK,完成配置
上傳公開金鑰到Linux伺服器
採用Zmodem方式上傳,方便快捷!再也不用建立什麼samba或者ftp啦~
使用者目錄(即~)下建立.ssh目錄,更改許可權:700,只允許本人讀寫和運行。這一步很重要,否則後面驗證會出錯,說找到度密鑰。
用rz命令來上傳檔案:輸入rz後會彈出一個對話方塊,找到剛才的建立的公開金鑰(C:\Identity.pub),確定後就上傳到Linux伺服器了。結果見圖:
把Identity.pub改名為authorized_keys2,2代表我們上面使用的是SSH2。若SSH的話為authorized_keys。
改許可權,建議600,代碼除了自己別人都不能讀寫。
OK,現在來使用RSA驗證來登入。
成功登入! 為了更安全,我們應該把/etc/ssh/sshd_config的 PasswordAuthentication 設定成no,關閉普通的密碼驗證,這樣就只支援RSA驗證方式。