debian

SFTP用户认证如何配置

小樊
39
2025-09-08 06:09:53
栏目: 编程语言

以下是SFTP用户认证的通用配置步骤,以Linux系统为例:

  1. 安装OpenSSH服务器

    • Debian/Ubuntu:sudo apt update && sudo apt install openssh-server
    • CentOS/RHEL:sudo yum install openssh-server
  2. 创建SFTP用户组与用户

    • 创建用户组:sudo groupadd sftpusers
    • 添加用户并加入组:
      sudo useradd -m -d /home/username -s /sbin/nologin -G sftpusers username
      sudo passwd username
  3. 配置SSH文件(关键步骤)
    编辑 /etc/ssh/sshd_config,添加以下内容:

    # 启用SFTP子系统  
    Subsystem sftp internal-sftp  
    # 限制用户组使用SFTP,锁定主目录  
    Match Group sftpusers  
        ChrootDirectory %h  
        ForceCommand internal-sftp  
        AllowTcpForwarding no  
        X11Forwarding no  
    
    • ChrootDirectory %h:将用户限制在其主目录。
    • ForceCommand internal-sftp:禁止SSH登录,仅允许SFTP。
  4. 设置目录权限

    sudo mkdir /home/username  
    sudo chown root:root /home/username  
    sudo chmod 755 /home/username  
    
    • 确保主目录权限为755,且属主为root,避免用户越权。
  5. 重启SSH服务
    sudo systemctl restart sshd

  6. 测试连接
    使用SFTP客户端(如FileZilla或命令行)连接:
    sftp username@server_ip,验证认证是否成功。

可选安全增强

不同系统(如Debian与CentOS)的配置差异主要体现在用户创建命令和路径细节,核心逻辑一致。

0
看了该问题的人还看了