centos

ssh如何配置centos防火墙

小樊
34
2025-09-05 15:32:36
栏目: 智能运维

在CentOS系统中,配置SSH服务以通过防火墙(firewalld)进行访问,可以按照以下步骤操作:

1. 安装firewalld

如果你的CentOS系统还没有安装firewalld,可以使用以下命令进行安装:

sudo yum install firewalld

2. 启动并启用firewalld服务

安装完成后,启动firewalld服务并设置为开机自启:

sudo systemctl start firewalld
sudo systemctl enable firewalld

3. 允许SSH端口(默认是22)

使用firewalld的firewall-cmd命令来允许SSH端口通过防火墙:

sudo firewall-cmd --permanent --add-service=ssh

--permanent参数表示永久生效,即使重启系统也不会丢失配置。

4. 重新加载firewalld配置

应用新的防火墙规则:

sudo firewall-cmd --reload

5. 验证SSH端口是否开放

你可以使用以下命令来检查SSH端口是否已经开放:

sudo firewall-cmd --list-all

在输出中查找services部分,确认ssh服务是否在其中。

6. 配置SELinux(可选)

如果你的系统启用了SELinux,可能需要额外配置SELinux策略以允许SSH连接。你可以临时将SELinux设置为宽容模式来测试:

sudo setenforce 0

如果一切正常,你可以考虑永久修改SELinux配置文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=permissive

7. 配置防火墙规则(可选)

如果你需要更细粒度的控制,可以添加自定义的防火墙规则。例如,只允许特定IP地址访问SSH:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'

然后重新加载firewalld配置:

sudo firewall-cmd --reload

通过以上步骤,你应该能够成功配置CentOS系统的防火墙以允许SSH连接。

0
看了该问题的人还看了