在Centos5下搭建安全的SSH伺服器

科技小先鋒發表於2017-11-16
    其實原始的SSH伺服器設定有著很多的漏洞,但一般網路管理員都喜歡這樣的預設設定,認為只要儲存好root密碼就萬事OK了。 


以前看見別人安裝SSH伺服器的時候總要在最後匯出一個.ppk的檔案,最後才知道那就是SSH伺服器的金鑰,在網上百度一下才知道如果沒有這個金鑰,就算你在網路環境中知道了root密碼也無濟於事。不信的話試試看就知道了。 


1、選擇平臺:為了搞實驗我裝了一個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
         Enter file in which to save the key (/root/.ssh/id_rsa):行禁止   //輸入金鑰檔名
         Enter passphrase (empty for no passphrase):        //輸入金鑰口令
         Enter same passphrase again:



第一步會讓你先確認鑰匙的檔名。保持預設就可以了。然後輸入這個金鑰的口令,再確認一次就可以了。 


然後cd ~/.ssh 檢視一下鑰匙是不是都已經建立了。將公鑰更改名稱後刪除 


cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 


rm -rf ~/.ssh/id_rsa.pub 別把金鑰誤刪就行了。 


將公鑰檔案屬性更改為400禁止被篡改 


chmod 400 ~/.ssh/authorized_keys 


剩下的就沒什麼了,把金鑰COPY到U盤還是FTP伺服器再轉移或者是複製到磁碟上就看你自己的需要了。 


測試一下看服務能不能正常連線 


開啟puttygen-x86.exe 在程式下面選擇SSH-2(RSA)金鑰強度改為1024,然後點選”Load” 


選取伺服器端生成的私鑰(檔案型別要選擇“All Files”) 如果沒有改名字的話我們選的應該是id_rsa這個檔案,開始轉換私鑰,這裡需要輸入在伺服器端建立此私鑰時的口令。在文字框中輸入口令開始轉換,儲存轉換後的私鑰匙到適當的位置(轉換後的私鑰將做為PuTTY登入到伺服器時使用的私鑰)。點選“Save private key”,並選擇適當的位置儲存私鑰。 


PUTTY 估計做網管的朋友都很熟悉,下載地址就不廢話了,沒有可以下載我附件裡提供的,我感覺這樣的兵器絕對是每人必備一把的,雙擊啟動 PuTTY ,在左側找到Auth(認證方式)一項,點選Browse,選擇剛剛用PuTTYGen轉換後的私鑰。然後點選左側的Session,回到主機連線資訊的設定。 剩下的我就不羅嗦了,自己試試就行了。 
本文轉自king_819 51CTO部落格,原文連結:http://blog.51cto.com/kerry/102122,如需轉載請自行聯絡原作者


相關文章