Ubuntu下:启用SSH内置的SFTP服务器

  • 测试平台: Ubuntu 24.04
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # 创建提供SFTP服务的用户和用户组
    adduser sftp-user-01
    groupadd sftp-users
    adduser sftp-user-01 sftp-users

    # 创建SFTP服务根目录
    mkdir /sftp-root
    chown root:root /sftp-root
    mkdir /sftp-root/sftp-user-01
    chown sftp-user-01:sftp-users /sftp-root/sftp-user-01
    chmod 755 /sftp-root/sftp-user-01

    # 编辑SSH服务配置文件
    vi /etc/ssh/sshd_config
    # 注释掉下面的行
    Subsystem sftp /usr/lib/openssh/sftp-server
    # 添加下面的配置
    Subsystem sftp internal-sftp
    Match User sftp-user-01
    ChrootDirectory /sftp-root
    X11Forwarding no
    PasswordAuthentication yes
    ForceCommand internal-sftp

    # 重启SSH服务,通过SFTP软件登录系统验证文件上传
    systemctl restart ssh