在CentOS上配置SSH防火墻規則,通常涉及使用firewalld
或iptables
。以下是使用這兩種方法的詳細步驟:
firewalld
啟動并啟用 firewalld
服務:
sudo systemctl start firewalld
sudo systemctl enable firewalld
允許SSH連接:
sudo firewall-cmd --permanent --add-service=ssh
重新加載防火墻規則:
sudo firewall-cmd --reload
驗證SSH端口是否開放:
sudo firewall-cmd --list-all
你應該能看到類似以下的輸出,表明SSH端口(默認是22)已經開放:
services: ssh
ports: 22/tcp
iptables
允許SSH連接:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
保存 iptables
規則:
CentOS 7及以上版本使用 firewalld
,但如果你使用的是CentOS 6或其他不支持 firewalld
的版本,可以使用以下命令保存規則:
sudo service iptables save
重啟 iptables
服務:
sudo service iptables restart
驗證SSH端口是否開放:
sudo iptables -L -n | grep 22
你應該能看到類似以下的輸出,表明SSH端口(默認是22)已經開放:
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
更改默認SSH端口:為了增加安全性,可以考慮更改SSH的默認端口(22)。編輯 /etc/ssh/sshd_config
文件,找到 Port
行并修改為你選擇的端口號,然后重啟SSH服務:
sudo systemctl restart sshd
限制SSH訪問:可以通過編輯 /etc/hosts.deny
和 /etc/hosts.allow
文件來限制SSH訪問。例如,只允許特定IP地址訪問SSH:
sudo echo "sshd: 192.168.1.1" >> /etc/hosts.deny
sudo echo "sshd: 192.168.1.2" >> /etc/hosts.allow
使用密鑰認證:為了進一步提高安全性,建議使用SSH密鑰認證而不是密碼認證。生成密鑰對并將其添加到遠程服務器的 ~/.ssh/authorized_keys
文件中。
通過以上步驟,你可以在CentOS上配置SSH防火墻規則,并采取其他安全措施來保護你的SSH服務。