温馨提示×

CentOS SFTP配置教程有哪些

小樊
47
2025-10-17 14:36:17
栏目: 智能运维

CentOS SFTP配置基础步骤

1. 安装OpenSSH服务器

CentOS系统通常默认安装OpenSSH服务器,若未安装,可通过以下命令安装:
sudo yum install openssh-server

2. 启动并启用SSH服务

安装完成后,启动SSH服务并设置为开机自启,确保服务持续运行:
sudo systemctl start sshd
sudo systemctl enable sshd

3. 配置SSH以支持SFTP

编辑SSH主配置文件/etc/ssh/sshd_config,通过修改以下参数启用SFTP并限制用户访问:

  • 启用SFTP子系统:找到Subsystem sftp行(默认可能被注释),修改为使用内置的internal-sftp(更轻量且无需额外安装):
    Subsystem sftp internal-sftp
  • 限制用户组:在文件末尾添加以下内容,将sftpusers组(需提前创建)的用户限制在Chroot环境中,禁用TCP/X11转发以提升安全性:
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

4. 创建SFTP用户组与用户

  • 创建用户组:用于统一管理SFTP用户:
    sudo groupadd sftpusers
  • 创建用户并加入组:以创建用户sftpuser为例,设置家目录并禁止其通过SSH登录(仅允许SFTP):
    sudo useradd -m -G sftpusers -s /sbin/nologin sftpuser
    sudo passwd sftpuser(设置用户密码)

5. 设置Chroot目录权限

Chroot环境需满足root拥有所有权其他用户无写权限的要求,避免安全漏洞:

  • 设置家目录权限
    sudo chown root:root /home/sftpuser
    sudo chmod 755 /home/sftpuser
  • 创建用户可写入的子目录:在家目录下创建upload子目录,赋予用户写权限:
    sudo mkdir /home/sftpuser/upload
    sudo chown sftpuser:sftpusers /home/sftpuser/upload
    sudo chmod 755 /home/sftpuser/upload

6. 重启SSH服务应用配置

修改配置文件后,重启SSH服务使更改生效:
sudo systemctl restart sshd

7. 测试SFTP连接

使用SFTP客户端(如命令行或FileZilla)连接服务器,验证配置是否成功:
ssh sftpuser@your_server_ip(替换为实际用户名和IP)
若连接成功并进入SFTP命令行(显示sftp>),则说明配置生效。

0