1. 更新系统
首先,确保系统软件包为最新版本,避免兼容性问题:
sudo yum update -y
2. 安装OpenSSH服务器
SFTP依赖OpenSSH服务,通过以下命令安装:
sudo yum install openssh-server -y
3. 启动并启用SSH服务
安装完成后,启动SSH服务并设置为开机自启,确保系统重启后服务仍运行:
sudo systemctl start sshd sudo systemctl enable sshd
4. 配置SSH以启用SFTP
编辑SSH主配置文件,启用SFTP子系统并限制用户访问:
sudo vi /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
注:
%h
表示用户家目录,internal-sftp
为内置SFTP服务,无需额外安装。
5. 创建SFTP用户组及用户
sudo groupadd sftpusers
mysftp
为例,设置家目录并禁用Shell登录):sudo useradd -m -G sftpusers -s /bin/false mysftp
sudo passwd mysftp
6. 设置用户根目录权限
SFTP用户的根目录必须归root
所有,且权限为755
(防止用户越权修改目录结构):
sudo chown root:root /home/mysftp sudo chmod 755 /home/mysftp
sudo mkdir /home/mysftp/files sudo chown mysftp:sftpusers /home/mysftp/files
7. 配置防火墙(若启用)
允许SSH(默认端口22)通过防火墙,确保外部客户端可连接:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
8. 重启SSH服务应用配置
使上述配置生效,重启SSH服务:
sudo systemctl restart sshd
9. 测试SFTP连接
使用SFTP客户端(如命令行或FileZilla)验证连接:
sftp mysftp@your_server_ip
输入密码后,若成功登录并显示用户根目录(如/home/mysftp
),则说明配置成功。