在 Linux 上给 SFTP 加用户,通常有两种常见场景:
这种方式最安全,用户 只能 SFTP,不能 SSH 登录。
useradd -m sftpuser
passwd sftpuser
chown root:root /home/sftpuser
chmod 755 /home/sftpuser
mkdir /home/sftpuser/upload
chown sftpuser:sftpuser /home/sftpuser/upload
编辑:
vi /etc/ssh/sshd_config
在文件末尾添加:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
systemctl restart sshd
✅ 此时该用户只能 SFTP,不能 SSH
groupadd sftpusers
useradd -m -G sftpusers sftpuser
passwd sftpuser
chown root:root /home/sftpuser
chmod 755 /home/sftpuser
mkdir /home/sftpuser/upload
chown sftpuser:sftpusers /home/sftpuser/upload
Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
systemctl restart sshd
ChrootDirectory 必须 root 拥有ForceCommand internal-sftpsftp sftpuser@服务器IP
如果你告诉我:
我可以给你一套 可直接复制执行的配置。