在CentOS中配置SFTP服务主要涉及安装OpenSSH服务器、创建SFTP用户、配置SSH配置文件以及重启SSH服务。默认情况下,SFTP使用端口22,但可以根据需要更改。以下是详细的配置步骤:
安装OpenSSH服务器
确保你的CentOS系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
sudo yum install openssh-server
创建SFTP用户组和用户
- 创建一个专门的SFTP用户组:
sudo groupadd sftpgroup
- 创建一个新的SFTP用户,并将其添加到SFTP用户组中。禁用用户的shell登录,以增强安全性:
sudo useradd -g sftpgroup -s /sbin/nologin mysftp
- 为新用户设置密码:
sudo passwd mysftp
配置用户的家目录
- 创建用户的家目录,并将其设置为用户的根目录(chroot环境):
sudo mkdir -p /home/mysftp
sudo usermod -d /home/mysftp mysftp
- 设置家目录的权限:
sudo chown root:sftpgroup /home/mysftp
sudo chmod 755 /home/mysftp
- 为用户创建一个可上传的目录,并设置相应的权限:
sudo mkdir /home/mysftp/uploads
sudo chown mysftp:sftpgroup /home/mysftp/uploads
sudo chmod 755 /home/mysftp/uploads
配置SSH服务
- 编辑SSH配置文件
/etc/ssh/sshd_config
,以启用SFTP子系统:
sudo nano /etc/ssh/sshd_config
在文件末尾添加或修改以下内容:
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory /home/mysftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
- 保存并关闭文件。
修改SFTP端口(可选)
如果你需要修改SFTP的端口,可以在 /etc/ssh/sshd_config
文件中找到或添加以下行:
Port 2222
将2222替换为你想要使用的端口号。确保你选择的端口号在1到65535之间,并且没有被其他服务占用。
重启SSH服务
重启SSH服务以使配置生效:
sudo systemctl restart sshd
验证SFTP连接
使用SFTP客户端连接到服务器,并测试上传和下载功能:
sftp mysftp@localhost
输入密码后,你应该能够访问SFTP环境。
配置防火墙(如需要)
确保防火墙允许SFTP使用的端口(默认是22):
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
通过以上步骤,你可以在CentOS上成功配置SFTP服务,实现安全的文件传输和管理。