温馨提示×

centos sftp如何配置防火墙

小樊
87
2025-02-22 20:41:03
栏目: 智能运维

在CentOS系统中,配置防火墙以允许SFTP(SSH File Transfer Protocol)连接,通常需要使用firewalld服务。以下是详细的步骤:

1. 安装firewalld

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

sudo yum install firewalld

2. 启动firewalld服务

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

sudo systemctl start firewalld
sudo systemctl enable firewalld

3. 允许SFTP端口

默认情况下,SFTP使用SSH端口22。你需要确保防火墙允许通过端口22的流量。可以使用以下命令添加规则:

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

4. 重新加载防火墙配置

添加规则后,重新加载防火墙配置以使更改生效:

sudo firewall-cmd --reload

5. 验证规则

你可以使用以下命令查看当前的防火墙规则,确保SSH端口22已经开放:

sudo firewall-cmd --list-all

在输出中,你应该能看到类似以下的条目:

services: ssh
ports: 22/tcp

6. 其他安全建议

  • 限制SSH访问:为了提高安全性,可以限制SSH访问的IP地址范围。例如,只允许特定IP地址访问SSH端口:

    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
    sudo firewall-cmd --reload
    
  • 使用密钥认证:为了进一步提高安全性,建议使用SSH密钥认证而不是密码认证。

  • 禁用root登录:编辑SSH配置文件/etc/ssh/sshd_config,将PermitRootLogin设置为no,然后重启SSH服务:

    sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
    sudo systemctl restart sshd
    

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

0