在 Debian 上开启 SFTP 服务,其实 SFTP 是基于 SSH 的,所以一般不需要单独安装“SFTP 服务”,只要 SSH 服务正常运行即可。
下面按常见情况说明:
sudo apt update
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
sudo systemctl status ssh
看到 active (running) 就说明 SSH(含 SFTP)已可用。
在客户端执行:
sftp 用户名@服务器IP
例如:
sftp user@192.168.1.100
如果默认 22 端口被修改:
sftp -P 2222 user@192.168.1.100
sudo ufw allow 22/tcp
sudo ufw enable
如果你想只允许 SFTP,不允许 shell 登录:
sudo nano /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
sudo groupadd sftpusers
sudo useradd -m -g sftpusers -s /usr/sbin/nologin sftpuser
sudo passwd sftpuser
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo systemctl restart ssh
SFTP 连不上?
ssh 服务是否运行Debian 12 / 11 都适用
如果你愿意,可以告诉我:
我可以给你更精确的配置。