售前咨询400-838-0503

怎样在Linux云服务器上配置SFTP?

发布:2025-03-31 07:11

搜索全部帮助分类的文档

Linux云服务器SFTP配置全指南:安全高效的文件传输方案

为什么选择SFTP而不是FTP?

在现代云服务器管理中,SFTP(SSH File Transfer Protocol)已成为文件传输的首选方案。相比传统FTP,SFTP提供:

  • 加密传输:所有数据通过SSH加密通道传输
  • 单端口管理:默认使用22端口,无需额外开放端口
  • 身份验证多样化支持密码和密钥两种认证方式
  • 完整性校验:内置数据完整性检查机制

准备工作

在开始配置前,请确保:

  1. 已拥有root权限的Linux云服务器(本文以Ubuntu 20.04为例)
  2. SSH服务已正常安装并运行
  3. 服务器防火墙已放行22端口(或您自定义的SSH端口)

详细配置步骤

步骤1:创建SFTP专用用户组

sudo groupadd sftpusers

创建独立用户组便于权限管理,后续所有SFTP用户都应加入此组。

步骤2:创建受限SFTP用户

sudo useradd -g sftpusers -s /bin/false -d /home/sftp_user1 sftp_user1
sudo passwd sftp_user1

关键参数说明:

  • -g sftpusers:指定用户组
  • -s /bin/false:禁止shell登录
  • -d /home/sftp_user1:指定家目录

步骤3:配置SSH服务限制

编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

在文件末尾添加:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

配置说明:

  • ChrootDirectory:限制用户只能访问自己的家目录
  • ForceCommand internal-sftp:强制使用SFTP协议
  • 禁止X11和端口转发增强安全性

步骤4:设置目录权限

sudo chown root:root /home/sftp_user1
sudo chmod 755 /home/sftp_user1
sudo mkdir /home/sftp_user1/files
sudo chown sftp_user1:sftpusers /home/sftp_user1/files

权限设置要点:

  • 家目录必须由root所有
  • 实际文件存储目录由相应用户所有
  • 确保权限不会过高(建议755)

步骤5:重启SSH服务

sudo systemctl restart sshd

使配置生效,建议先新开一个SSH会话测试配置是否正确,避免锁死服务器。

高级配置技巧

1. 限制用户可用空间

通过磁盘配额限制用户可用空间:

sudo apt install quota
sudo edquota -u sftp_user1

2. 启用密钥认证

比密码更安全的认证方式:

sudo mkdir /home/sftp_user1/.ssh
sudo chmod 700 /home/sftp_user1/.ssh
sudo nano /home/sftp_user1/.ssh/authorized_keys

3. 日志监控

配置专用日志记录SFTP活动:

sudo nano /etc/rsyslog.d/sftp.conf

添加内容:

auth,authpriv.* /var/log/sftp.log

常见问题解决

连接时出现"Received message too long"错误

解决方案:检查ChrootDirectory是否由root所有且权限为755。

用户无法上传文件

解决方案:确保用户对files目录有写权限,且上级目录权限正确。

登录时直接断开连接

解决方案:检查sshd_config中的Match Group配置是否正确,特别是ForceCommand的设置。

最佳实践建议

  1. 为每个SFTP用户创建独立的系统账户
  2. 定期审计用户权限和活动日志
  3. 考虑使用Fail2Ban防止暴力破解
  4. 对敏感数据启用传输加密+存储加密双重保护
  5. 建立定期备份机制,特别是重要文件传输记录

通过以上配置,您的Linux云服务器将建立一个既安全又高效的SFTP文件传输环境,满足企业级文件交换需求。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单