温馨提示×

SFTP在CentOS上的安装步骤是什么

小樊
41
2025-10-05 00:38:25
栏目: 智能运维

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 
  • 确保SFTP子系统未被注释(默认已启用):
    Subsystem sftp internal-sftp 
  • 添加以下内容(限制指定用户组只能使用SFTP,且锁定根目录):
    Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no 

    注:%h表示用户家目录,internal-sftp为内置SFTP服务,无需额外安装。

5. 创建SFTP用户组及用户

  • 创建专用用户组(用于管理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),则说明配置成功。

0