下面以 Debian 为例,介绍如何安装和配置 SFTP(基于 OpenSSH)。
大多数 Debian 已自带,但如果没有:
sudo apt update
sudo apt install openssh-server
启动并设置开机自启:
sudo systemctl enable ssh
sudo systemctl start ssh
只要 SSH 正常,SFTP 默认已可用:
sftp user@server_ip
⚠️ 默认情况下,用户可以使用 SSH 登录系统。
sudo adduser sftpuser
编辑配置文件:
sudo nano /etc/ssh/sshd_config
在文件末尾添加:
Match User sftpuser
PasswordAuthentication yes
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
创建可写目录:
sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload
sudo systemctl restart ssh
Match Group sftpusers
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
创建组:
sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser
目录结构示例:
/sftp/sftpuser
/sftp/sftpuser/upload
sudo ufw allow 22
broken pipe → Chroot 目录权限错误如果你需要:
可以告诉我你的具体需求。