创建SFTP用户组
sudo groupadd sftp
创建SFTP用户并指定用户组为sftp
sudo useradd -g sftp -s /sbin/nologin -M sftpuser
创建SFTP根目录,该根目录所属用户必须为root,权限不能低于755。
sudo mkdir -p /opt/sftp
sudo chown root:sftp /opt/sftp
sudo chmod 755 /opt/sftp
SFTP根目录下按照用户名直接匹配目录路径(其他方式参见相关文档),创建用户SFTP根目录
sudo mkdir -p /opt/sftp/sftpuser
sudo chown sftpuser:sftp /opt/sftp/sftpuser
sudo chmod 755 /opt/sftp/sftpuser
其他SFTP用户可以按照同样的方法配置OWN。
以 SODU 身份编辑 /etc/ssh/sshd_config 配置,在配置文件最下面添加如下内容:
Subsystem sftp internal-sftp -l INFO -f AUTH
Match Group sftp
ChrootDirectory /opt/sftp/%u
ForceCommand internal-sftp -l INFO -f AUTH
AllowTcpForwarding no
X11Forwarding no
此处 %u 按照用户匹配同名路径。
重启 SSH 服务:
sudo systemctl restart sshd
测试 SFTP 连通性:(-P指定端口,默认22)
sftp -P 22 sftpuser@localhost
完成。