配置CentOS的SFTP防火墙需要确保SSH端口(默认是22)对客户端开放,同时限制其他不必要的端口。以下是一个基本的步骤指南:
首先,确保你已经安装了OpenSSH服务器。
sudo yum install openssh-server 启动并启用SSH服务:
sudo systemctl start sshd sudo systemctl enable sshd CentOS 7及以上版本使用firewalld作为默认防火墙管理工具。如果你使用的是CentOS 6或其他防火墙工具,请相应调整。
确保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 如果你启用了SELinux,可能需要配置它以允许SFTP连接。
sudo setsebool -P sftp_home_dir on sudo setsebool -P ssh_sysadm_login on 编辑SSH配置文件/etc/ssh/sshd_config,确保以下行存在并正确配置:
Subsystem sftp /usr/libexec/openssh/sftp-server 最后,重启SSH服务以应用所有更改。
sudo systemctl restart sshd 使用SFTP客户端连接到你的服务器,确保一切正常。
sftp username@your_server_ip 通过以上步骤,你应该能够成功配置CentOS的SFTP防火墙,确保只有必要的端口开放,并且SFTP连接正常工作。