温馨提示×

ubuntu sftp怎样添加用户

小樊
48
2026-09-08 07:55:20
栏目: 智能运维

在 Ubuntu 上通过 SFTP 添加用户,通常有两种常见场景:


一、普通 SFTP 用户(可登录系统,也能用 SFTP)

1. 创建用户

sudo adduser sftpuser

按提示设置密码和用户信息。

2. 确保用户有 SFTP 权限

Ubuntu 默认使用 OpenSSH,一般已经支持 SFTP。

测试:

sftp sftpuser@服务器IP

二、仅 SFTP 用户(不能 SSH 登录,只能传文件)✅ 推荐

1. 创建用户并指定家目录

sudo adduser sftpuser

2. 修改用户家目录权限(很重要)

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser

3. 创建可写目录

sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload

4. 修改 SSH 配置

编辑:

sudo nano /etc/ssh/sshd_config

在文件末尾添加:

Match User sftpuser
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

5. 重启 SSH

sudo systemctl restart ssh

6. 测试

sftp sftpuser@服务器IP

三、批量或更多用户(使用用户组)

1. 创建 SFTP 组

sudo groupadd sftpusers

2. 创建用户并加入组

sudo adduser user1
sudo usermod -G sftpusers user1

3. sshd_config 使用组匹配

Match Group sftpusers
    ChrootDirectory /home/%u
    ForceCommand internal-sftp

四、常见问题

❌ 登录后提示

Write failed: Broken pipe

原因:Chroot 目录不是 root 拥有

解决:

sudo chown root:root /home/sftpuser

如果你告诉我:

  • 是否允许 SSH 登录
  • 是否用密钥
  • Ubuntu 版本

我可以给你更精确的配置。

0