在CentOS系統中,提高SSH登錄安全性可以通過以下幾種方法實現:
生成SSH密鑰對:在本地機器上生成SSH密鑰對。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_key
將公鑰復制到遠程服務器:使用ssh-copy-id
命令將公鑰復制到遠程服務器的~/.ssh/authorized_keys
文件中。
ssh-copy-id user@remote_server
配置SSH服務器:編輯遠程服務器上的/etc/ssh/sshd_config
文件,確保以下配置項沒有被注釋掉,并且設置為上述值。
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重啟SSH服務:保存并退出編輯器后,重啟SSH服務以應用更改。
sudo systemctl restart sshd
為了提高安全性,可以禁用密碼認證,只允許公鑰認證。編輯/etc/ssh/sshd_config
文件,找到并修改以下配置項:
PasswordAuthentication no
然后重啟SSH服務:
sudo systemctl restart sshd
更改SSH服務的默認端口可以防止一些自動化工具的掃描,提高安全性。編輯/etc/ssh/sshd_config
文件,找到并修改以下配置項:
Port 2222
保存文件并重啟SSH服務以應用更改:
sudo systemctl restart sshd
為了增強安全性,可以禁用root用戶通過SSH登錄。編輯/etc/ssh/sshd_config
文件,將PermitRootLogin
設置為no
:
PermitRootLogin no
然后重啟SSH服務以應用更改:
sudo systemctl restart sshd
使用firewalld
配置防火墻規則,只允許特定IP地址或端口訪問SSH服務。
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload
sshd_config
中設置MaxAuthTries
為一個較小的數字,如3,以限制失敗認證的最大次數。sshd_config
中配置Banner,以顯示登錄前的提示信息。通過上述配置,可以顯著提高CentOS系統通過SSH登錄的安全性。