温馨提示×

如何配置CentOS SFTP防火墙

小樊
47
2025-07-16 18:47:24
栏目: 智能运维

配置CentOS的SFTP防火墙需要确保SSH端口(默认是22)对客户端开放,同时限制其他不必要的端口。以下是一个基本的步骤指南:

1. 安装和配置SSH服务器

首先,确保你已经安装了OpenSSH服务器。

sudo yum install openssh-server 

启动并启用SSH服务:

sudo systemctl start sshd sudo systemctl enable sshd 

2. 配置防火墙

CentOS 7及以上版本使用firewalld作为默认防火墙管理工具。如果你使用的是CentOS 6或其他防火墙工具,请相应调整。

启用SSH端口

确保SSH端口(默认22)在防火墙中开放。

sudo firewall-cmd --permanent --zone=public --add-service=ssh sudo firewall-cmd --reload 

拒绝其他不必要的端口

你可以拒绝所有其他端口的入站连接,或者只允许特定的端口。

拒绝所有其他端口
sudo firewall-cmd --permanent --zone=public --remove-service=http sudo firewall-cmd --permanent --zone=public --remove-service=https sudo firewall-cmd --permanent --zone=public --remove-service=ftp sudo firewall-cmd --reload 
允许特定端口

如果你需要允许其他特定端口(例如,SFTP使用的端口),可以这样做:

sudo firewall-cmd --permanent --zone=public --add-port=22/tcp sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp # 假设你想使用2222作为SFTP端口 sudo firewall-cmd --reload 

3. 配置SELinux(可选)

如果你启用了SELinux,可能需要配置它以允许SFTP连接。

sudo setsebool -P sftp_home_dir on sudo setsebool -P ssh_sysadm_login on 

4. 配置SSH服务器以使用SFTP

编辑SSH配置文件/etc/ssh/sshd_config,确保以下行存在并正确配置:

Subsystem sftp /usr/libexec/openssh/sftp-server 

5. 重启SSH服务

最后,重启SSH服务以应用所有更改。

sudo systemctl restart sshd 

6. 测试SFTP连接

使用SFTP客户端连接到你的服务器,确保一切正常。

sftp username@your_server_ip 

通过以上步骤,你应该能够成功配置CentOS的SFTP防火墙,确保只有必要的端口开放,并且SFTP连接正常工作。

0