在centos系統(tǒng)中,可以通過以下幾種方式提升ssh登錄的安全性:
1. 實施SSH密鑰認(rèn)證
-
生成SSH密鑰對:在本地計算機上生成SSH密鑰對。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_key
-
將公鑰復(fù)制到遠程服務(wù)器:利用ssh-copy-id命令將公鑰傳輸?shù)竭h程服務(wù)器的~/.ssh/authorized_keys文件中。
ssh-copy-id user@remote_server
-
配置SSH服務(wù)器:修改遠程服務(wù)器上的/etc/ssh/sshd_config文件,確保以下設(shè)置未被注釋,并且正確設(shè)置。
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
-
重啟SSH服務(wù):保存并退出編輯后,重啟SSH服務(wù)以應(yīng)用配置變更。
sudo systemctl restart sshd
2. 禁用密碼認(rèn)證
-
為了加強安全性,可以關(guān)閉密碼認(rèn)證,僅允許公鑰認(rèn)證。編輯/etc/ssh/sshd_config文件,找到并調(diào)整以下配置:
PasswordAuthentication no
-
然后重啟SSH服務(wù)以應(yīng)用新配置:
sudo systemctl restart sshd
3. 修改SSH默認(rèn)端口
-
通過更改SSH服務(wù)的默認(rèn)端口,可以減少自動化掃描工具的攻擊風(fēng)險,從而提高安全性。編輯/etc/ssh/sshd_config文件,找到并修改以下設(shè)置:
Port 2222
-
保存文件后,重啟SSH服務(wù)以應(yīng)用更改:
sudo systemctl restart sshd
4. 禁止root用戶登錄
-
為了增強安全性,可以禁止root用戶通過SSH登錄。編輯/etc/ssh/sshd_config文件,將PermitRootLogin設(shè)置為no:
PermitRootLogin no
-
然后重啟SSH服務(wù)以應(yīng)用更改:
sudo systemctl restart sshd
5. 配置防火墻
-
使用firewalld來設(shè)置防火墻規(guī)則,只允許特定IP地址或端口訪問SSH服務(wù)。
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent sudo firewall-cmd --reload
6. 其他安全措施
- 限制登錄嘗試次數(shù):在sshd_config文件中設(shè)置MaxAuthTries為較小的數(shù)值,如3,以限制失敗認(rèn)證的最大次數(shù)。
- 啟用公鑰壓縮:關(guān)閉或延遲壓縮功能,以降低潛在的安全風(fēng)險。
- 顯示登錄消息:在sshd_config文件中配置Banner,以在登錄前顯示提示信息。
通過上述配置,可以顯著提升centos系統(tǒng)通過SSH登錄的安全性。