在CentOS系统上配置SFTP服务器的防火墙涉及几个关键步骤。以下是详细的指南:
安装OpenSSH服务器:
sudo yum install openssh-server
启动并启用SSH服务:
sudo systemctl start sshd
sudo systemctl enable sshd
检查SSH服务状态:
sudo systemctl status sshd
创建SFTP用户:
sudo useradd -m -s /sbin/nologin sftpuser
设置用户密码:
sudo passwd sftpuser
创建用户的SFTP根目录:
sudo mkdir /sftp
设置根目录的权限:
sudo chown root:root /sftp
sudo chmod 755 /sftp
在根目录下创建子目录,并设置写入权限:
sudo mkdir /sftp/sharedata
sudo chown sftpuser:sftpuser /sftp/sharedata
sudo chmod 755 /sftp/sharedata
创建用户的SSH配置文件目录:
sudo mkdir /home/sftpuser/.ssh
复制系统SSH配置文件到用户目录:
sudo cp /etc/ssh/sshd_config /home/sftpuser/.ssh/sshd_config
编辑用户的SSH配置文件:
sudo nano /home/sftpuser/.ssh/sshd_config
在文件中添加以下配置:
Match User sftpuser
ChrootDirectory /sftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
给新用户的用户目录递归设置归属:
sudo chown -R sftpuser:sftpuser /home/sftpuser
给配置文件设置读取权限:
sudo chmod 755 /home/sftpuser/.ssh/sshd_config
修改SSH服务启动选项(可选): 如果你需要为多个用户指定不同的配置,可以在SSH服务的启动选项中指定这些文件。
sudo systemctl daemon-reload
sudo systemctl restart sshd
启动并启用firewalld(如果尚未启动):
sudo systemctl start firewalld
sudo systemctl enable firewalld
开放SSH端口(默认22):
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
配置SFTP子系统:
编辑 /etc/ssh/sshd_config
文件,确保以下配置存在:
Subsystem sftp /usr/libexec/openssh/sftp-server
重新加载SSH服务:
sudo systemctl restart sshd
通过以上步骤,你可以在CentOS系统上成功配置SFTP服务器,并确保其安全性。