其實原始的SSH伺服器設定有著很多的漏洞,但一般網路系統管理員都喜歡這樣的預設設定,認為只要儲存好root密碼就萬事OK了。
以前給保險公司做整合的時候曾經看到他們內部的工程師給系統安裝SSH伺服器的時候總要在最後匯出一個.ppk的檔案,最後才知道那就是SSH伺服器的密鑰,在網上百度一下才知道如果沒有這個密鑰,就算你在網路環境中知道了root密碼也無濟於事。不信的話試試看就知道了。
1、選擇平台:公司的很多機器都是使用NT2003和BSD的,為了搞實驗我裝了一個Centos5.0的在我的測試機上。
預設安裝完以後用VI開啟 /etc/ssh/sshd_config 修改幾行內容就可以了
#ServerKeyBits 768 注釋取消,將768改為1024
#PermitRootLogin yes 注釋取消,將yes改為no 禁止root登入
#PermitEmptyPasswords no 取消注釋,禁止空密碼登入
#PasswordAuthentication no 取消注釋,禁止使用密碼方式登入,有密鑰誰還用密碼啊
注意一下,在centos5.0之前SSH服務需要指明版本,#Protocol 2,1 把前面的注釋取消,選擇自己需要的版本就行了。
儲存退出。如果想做到最大化安全連結,可以考慮在配置有雙網卡的伺服器上設定只允許內網連結SSH,方法很簡單,在/etc/hosts.deny檔案最後一行添加一句sshd: ALL 然後在/etc/hosts.allow的最後一行加上一句sshd: 192.168.0. 然後儲存退出。
重啟一下SSH服務 service sshd restart 就OK了
2、製作密鑰
先切換進入一個wheel組的普通使用者,輸入 ssh-keygen -t rsa.
第一步會讓你先確認鑰匙的檔案名稱。保持預設就可以了。然後輸入這個密鑰的口令,再確認一次就可以了。
然後cd ~/.ssh 查看一下鑰匙是不是都已經建立了。將公開金鑰更改名稱後刪除
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rm -rf ~/.ssh/id_rsa.pub 別把密鑰誤刪就行了。
將公開金鑰檔案屬性更改為400禁止被篡改
chmod 400 ~/.ssh/authorized_keys
剩下的就沒什麼了,把密鑰COPY到隨身碟還是FTP伺服器再轉移或者是複製到磁碟上就看你自己的需要了。
測試一下看服務能不能正常串連
開啟puttygen-x86.exe 在程式下面選擇SSH-2(RSA)密鑰強度改為1024,然後點擊"Load"
選取伺服器端產生的私密金鑰(檔案類型要選擇“All Files”) 如果沒有改名字的話我們選的應該是id_rsa這個檔案,開始轉換私密金鑰,這裡需要輸入在伺服器端建立此私密金鑰時的口令。在文字框中輸入口令開始轉換,儲存轉換後的私密金鑰匙到適當的位置(轉換後的私密金鑰將做為PuTTY登入到伺服器時使用的私密金鑰)。點擊“Save private key”,並選擇適當的位置儲存私密金鑰。
PUTTY 估計做網管的朋友都很熟悉,就不廢話了,沒有可以下載我附件裡提供的,我感覺這樣的兵器絕對是每人必備一把的,雙擊啟動 PuTTY ,在左側找到Auth(認證方式)一項,點擊Browse,選擇剛剛用PuTTYGen轉換後的私密金鑰。然後點擊左側的Session,回到主機串連資訊的設定。 剩下的我就不羅嗦了,自己試試就行了。