天龍蓋地虎 寶塔鎮河妖——構建密鑰對驗證的SSH

Linux系列-Red Hat5平臺下構建密鑰對驗證的SSH登錄體系

Telnet大家都應該用過,感覺還可以吧,用起來確實不錯。但就安全性而言實在不敢恭維。在局域網裏用一下還可以,要是一牽扯到遠程還得SSH
SSHSecure Shell)是標準的網絡協議,主要用於實現字符界面的遠程登錄管理,以及遠程文件複製的功能。SSH協議對通過網絡傳輸的數據進行了加密處理,其中也包括了用戶登錄時輸入的用戶口令。與早期的telnetrshrcp等應用相比,SSH協議提供了更好的安全性。
RHEL5中,默認安裝了OpenSSH服務器的客戶端的相關軟件包。它屬於開源軟件項目,如果沒有的話的可以去它的官方網站下載,地址如下:
本次很簡單所以我也沒準備拓撲,直接來看步驟吧!
1.       在客戶端創建用戶
root用戶也可以,但不建議使用root用戶。不管什麼情況下我們都應該避免直接使用root用戶,要把su這個命令好好用起來。所以下面我建了一個普通用戶zpp,並且設了密碼。

 

2.       在客戶端創建密鑰對

現在還是在客戶上,使用ssh-keygen命令工具爲當前用戶創建密鑰對文件,可以使用的加密算法爲RSADSA。我就用RSA吧。咱們按照圖上說的做,做完之後就會產生一對密鑰,一個公鑰一個私鑰。默認位於用戶宿主目錄下的.ssh/目錄下,其中id_rsa.pub是用戶的公鑰文件,可以提供SSH服務器;id_rsa是用戶的私鑰文件,默認權限爲600,私鑰文件必須妥善保管。

 

3.       上傳公鑰文件給服務器

將客戶端用戶創建的公鑰文件發送給OpenSSH服務器,並保存到服務器的授權密鑰庫中。服務器的授權密鑰庫文件位於各用戶宿主目錄下的.ssh/目錄中,默認的文件名是authorized_keys。上傳公鑰文件時可以選擇FTPSambaHTTPSCPE-mail等方式,我這大家也看到了使用的是Samba。然後我建了一個與客戶端同名的帳戶,最後把公鑰信息複製了一份到服務器上,名字叫authorized_keys。這個名子是系統上配置文件裏默認的。

 

注意這個文件的所有者要求是登錄的目標用戶或root,同組或其他用戶對該文件不能有寫入權限,否則可能無法使用密鑰驗證成功登錄系統。最好由root來創建,並保持權限爲644如下:

 

4.       調整服務器設置

SSH的配置文件叫sshd_config,在/etc/ssh/目錄下,咱們最好來個備份(Linux下所有服務的配置文件都建議這樣做),然後把那些沒用的註釋行去掉。這樣顯得簡潔大方。

 

OpenSSH服務器的配置文件中,設置啓用密鑰對驗證方式,禁用密碼驗證方式,並且指定保存用戶公鑰內容的數據文件位置,如圖:

 

5.       啓動sshd服務,確保22端口已經開了,如圖:

 

6.       現在咱們到客戶端來試試看
zpp用戶登錄到Client(網管工作站)然後使用命令[email protected] 登錄。首次登錄時它會說一番客套話,不用管它說什麼,yes就是了,然後它會要咱們輸入事先設置的密碼短語。輸入之後就上去了,如圖:

 

    OK!現在咱們就構建起了密鑰對驗證的SSH登錄體系,最後再次強調一下密鑰一定要保管好。否則是相當危險的。大家從上圖中可能已經看到了,從客戶端登錄服務器時是不需要知道服務器中對應用戶密碼的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章