在 CentOS 上添加 SFTP 账户,通常有两种常见做法:
groupadd sftpusers
useradd -g sftpusers -s /sbin/nologin sftpuser
passwd sftpuser
mkdir -p /data/sftp/sftpuser
chown root:root /data/sftp/sftpuser
chmod 755 /data/sftp/sftpuser
mkdir /data/sftp/sftpuser/upload
chown sftpuser:sftpusers /data/sftp/sftpuser/upload
编辑 /etc/ssh/sshd_config:
vi /etc/ssh/sshd_config
注释或确认以下行:
# Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
在文件末尾添加:
Match Group sftpusers
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
systemctl restart sshd
sftp sftpuser@服务器IP
useradd sftpuser
passwd sftpuser
默认 CentOS 已支持 SFTP,直接用:
sftp sftpuser@服务器IP
permission deniedfirewall-cmd --add-service=ssh --permanent
firewall-cmd --reload
如果你是 CentOS 7 / 8 / Stream,或需要 多用户隔离 / 密钥登录 / 限制目录,可以告诉我具体需求,我可以给你更精确的配置。