在 Debian 上开启 SFTP(基于 SSH 的文件传输)通常不需要额外安装服务,因为 OpenSSH 自带 SFTP 子系统。下面是标准做法:
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
确保有以下一行(通常默认存在):
Subsystem sftp /usr/lib/openssh/sftp-server
如果没有,手动添加后保存。
重启 SSH 服务:
sudo systemctl restart ssh
此时 SFTP 已经可以使用了(使用系统用户名和密码或密钥登录)。
从客户端连接:
sftp user@server_ip
或使用 FileZilla / WinSCP:
如果你希望 某些用户只能 SFTP,不能 SSH 登录:
sudo adduser sftpuser
sshd_configsudo nano /etc/ssh/sshd_config
在文件末尾添加:
Match User sftpuser
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
sudo ufw allow 22
ChrootDirectory 必须属主为 root如果你需要:
可以告诉我你的使用场景,我可以给你更具体的配置方案。