在 Ubuntu 上启用 SFTP(基于 SSH 的文件传输)通常很简单,因为 SFTP 是 OpenSSH 的一部分,只要 SSH 服务可用,SFTP 一般就可以直接使用。
下面按常见场景说明:
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
从另一台机器测试:
sftp username@服务器IP
如果能登录,说明 SFTP 已启用 ✅
默认情况下,只要能 SSH 登录,就能 SFTP
适合给文件上传用户使用。
sudo adduser sftpuser
编辑:
sudo 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 groupadd sftpusers
sudo usermod -aG sftpusers sftpuser
Match Group sftpusers
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
创建目录:
sudo mkdir -p /sftp/sftpuser
sudo chown root:root /sftp/sftpuser
sudo chmod 755 /sftp/sftpuser
如果启用了 UFW:
sudo ufw allow ssh
systemctl status sshsudo tail -f /var/log/auth.log如果你有具体需求(比如:
可以告诉我,我可以给你更精确的配置。