一、SSH遠程管理
SSH是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程復制等功能。SSH協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令。與早期的Telent、RSH、RCP、等應用相比,SSH協議提供了更好的安全性。
1、配置OpenSSH服務端
在Centos 7.4系統中,OpenSSH服務器由openssh、openssh-server等軟件包提供(默認已安裝),并已將sshd添加為標準的系統服務。執行“systemctl start sshd”命令即可啟動sshd服務,包括root在內的大部分用戶都可以遠程登錄系統。sshd服務的配置文件默認位于/etc/ssh/sshd_config目錄下,正確調整相關配置項,可以進一步提高sshd遠程登錄的安全性。
1)服務監聽選項
sshd服務使用的默認端口號為22,必要時建議修改此端口號,并指定監聽服務的具體IP地址,以提高在網絡中的隱蔽性。V2版本要比V1版本的安全性要更好,禁用DNS反向解析可以提高服務器的響應速度。
[root@centos01 ~]# vim /etc/ssh/sshd_config <!--編輯sshd主配置文件-->17 Port 22 <!--監聽端口為22-->19 ListenAddress 192.168.100.10 <!--監聽地址為192.168.100.10-->21 Protocol 2 <!--使用SSH V2協議-->118 UseDNS no <!--禁用DNS反向解析-->...... <!--此處省略部分內容-->[root@centos01 ~]# systemctl restart sshd <!--重啟sshd服務-->
2)用戶登錄控制
sshd服務默認允許root用戶登錄,但在Internet中使用時是非常不安全的。關于sshd服務的用戶登錄控制,通常應禁止root用戶或密碼為空的用戶登錄。另外,可以限制登錄驗證的時間(默認為2分鐘)及最大重試次數,若超過限制后仍未能登錄則斷開連接。
[root@centos01 ~]# vim /etc/ssh/sshd_config <!--編輯sshd主配置文件--> 37 LoginGraceTime 2m <!--登錄驗證時間為2分鐘--> 38 PermitRootLogin yes <!--禁止root用戶登錄--> 40 MaxAuthTries 6 <!--最大重試次數為6--> 67 PermitEmptyPasswords no <!--禁止空密碼用戶登錄--> ...... <!--此處省略部分內容-->[root@centos01 ~]# systemctl restart sshd <!--重啟sshd服務-->
2、登錄驗證方式
對于服務器的遠程管理,除了用戶賬戶的安全控制以外,登錄驗證的方式也非常重要。sshd服務支持兩種驗證方式――密碼驗證、密鑰對驗證,可以設置只使用其中一種方式,也可以兩種方式都啟用。
密碼驗證:對服務器中本地系統用戶的登錄名稱、密碼進行驗證。這種方式使用最為簡便,但從客戶端角度來看,正在連接的服務器有可能被假冒;從服務器角度來看,當遭遇密碼窮舉第三者時防御能力比較弱。
密鑰對驗證:要求提供相匹配的密鑰信息才能通過驗證。通常先在客戶端中創建一對密鑰文件(公鑰、私鑰),然后將公鑰文件放到服務器中的指定位置。遠程登錄時,系統將使用公鑰,私鑰進行加密/解密關聯驗證,大大增強了遠程管理的安全性。該方式不易被假冒,且可以免交互登錄,在Shell中被廣泛使用。
當密碼驗證,密鑰對驗證都啟用時,服務器將優先使用密鑰對驗證。對于安全性要求較高的服務器,建議將密碼驗證方式禁用,只允許啟用密鑰對驗證方式;若沒有特殊要求,則兩種方式都可以啟用。
[root@centos01 ~]# vim /etc/ssh/sshd_config <!--編輯sshd主配置文件--> 43 PubkeyAuthentication yes <!--啟用密鑰對驗證--> 47 AuthorizedKeysFile .ssh/authorized_keys <!--指定公鑰庫文件--> 66 PasswordAuthentication yes <!--啟用密碼驗證-->...... <!--此處省略部分內容-->[root@centos01 ~]# systemctl restart sshd <!--重啟sshd服務-->
新聞熱點
疑難解答