在CentOS系统中,配置SSH防火墙主要涉及两个步骤:允许SSH连接和配置防火墙规则。以下是详细的步骤:
首先,确保你的SSH服务正在运行,并且监听在默认的22端口上。你可以通过以下命令检查SSH服务状态:
sudo systemctl status sshd
如果SSH服务没有运行,可以使用以下命令启动它:
sudo systemctl start sshd
CentOS 7及以上版本使用firewalld
作为默认的防火墙管理工具。以下是如何配置firewalld
以允许SSH连接的步骤:
如果firewalld
服务没有运行,可以使用以下命令启动它:
sudo systemctl start firewalld
使用以下命令允许SSH连接:
sudo firewall-cmd --permanent --add-service=ssh
--permanent
选项表示永久生效,即使重启系统也不会丢失配置。
为了使新的规则生效,需要重新加载防火墙配置:
sudo firewall-cmd --reload
你可以使用以下命令检查SSH端口是否已经开放:
sudo firewall-cmd --list-all
在输出中,你应该能看到services
部分包含ssh
。
如果你的系统启用了SELinux,可能还需要配置SELinux策略以允许SSH连接。以下是一些常见的SELinux配置:
使用以下命令检查SELinux的状态:
sestatus
如果SELinux处于enforcing
模式,你可能需要调整相关策略。
如果你只是想测试SSH连接,可以临时将SELinux设置为permissive
模式:
sudo setenforce 0
如果你需要永久更改SELinux策略,可以编辑/etc/selinux/config
文件:
sudo vi /etc/selinux/config
将SELINUX=enforcing
改为SELINUX=permissive
,然后保存并退出。
最后,确保你可以从外部网络连接到你的CentOS服务器:
ssh username@your_server_ip
如果一切配置正确,你应该能够成功登录。
通过以上步骤,你应该能够在CentOS系统上成功配置SSH防火墙。