在CentOS系统中,配置防火墙以允许SSH访问是一个常见的任务。以下是详细步骤:
CentOS 7及以上版本默认使用firewalld作为防火墙管理工具。如果尚未安装,可以使用以下命令进行安装:
sudo yum install firewalld
确保防火墙已启动并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
使用firewall-cmd命令来添加SSH端口(默认是22)到防火墙规则中:
sudo firewall-cmd --permanent --add-service=ssh
为了使更改生效,需要重新加载防火墙配置:
sudo firewall-cmd --reload
你可以使用以下命令来验证SSH端口是否已经开放:
sudo firewall-cmd --list-all
在输出中,你应该能看到类似以下的内容,表明SSH服务已被允许:
services: ssh
ports: 22/tcp
如果你的系统启用了SELinux,可能还需要配置SELinux策略以允许SSH连接。你可以临时设置SELinux为宽容模式来测试:
sudo setenforce 0
如果一切正常,你可以永久更改SELinux策略:
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
然后重启系统:
sudo reboot
如果你还没有配置SSH服务器,可以编辑/etc/ssh/sshd_config文件来进行配置。例如,你可以更改SSH监听端口、禁用root登录等。
sudo vi /etc/ssh/sshd_config
修改完成后,重启SSH服务:
sudo systemctl restart sshd
通过以上步骤,你应该能够在CentOS系统中成功配置防火墙以允许SSH访问。确保你的SSH服务器配置正确,并且防火墙规则已经生效。