在CentOS系统中,使用firewalld
来管理防火墙规则。要允许SFTP(SSH File Transfer Protocol)连接,你需要确保以下两个端口是开放的:
以下是通过firewalld
设置SFTP的步骤:
如果你的CentOS系统还没有安装firewalld
,可以使用以下命令进行安装:
sudo yum install firewalld
启动firewalld
服务并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
使用firewalld
命令开放SSH端口:
sudo firewall-cmd --permanent --add-service=ssh
如果你需要为SFTP配置一个不同的端口,可以使用以下命令:
sudo firewall-cmd --permanent --add-port=YOUR_SFTP_PORT/tcp
将YOUR_SFTP_PORT
替换为你希望使用的端口号。
应用新的防火墙规则:
sudo firewall-cmd --reload
你可以使用以下命令来验证端口是否已经开放:
sudo firewall-cmd --list-all
或者使用nmap
工具来扫描你的服务器:
sudo nmap -sT localhost
如果你的系统启用了SELinux,你可能需要配置SELinux策略以允许SFTP连接。你可以使用以下命令来设置SELinux上下文:
sudo semanage port -a -t ssh_port_t -p tcp YOUR_SFTP_PORT
将YOUR_SFTP_PORT
替换为你希望使用的端口号。
现在你可以尝试使用SFTP客户端连接到你的服务器,确保一切配置正确。
sftp username@your_server_ip
将username
替换为你的用户名,your_server_ip
替换为你的服务器IP地址。
通过以上步骤,你应该能够成功地在CentOS系统上通过防火墙设置SFTP。