在 Ubuntu 上,SFTP 功能通常默认就已经开启(因为 OpenSSH Server 自带 SFTP 子系统)。你只需要确保 SSH 服务正常运行即可。下面按步骤说明:
which sshd
或
systemctl status ssh
sudo apt update
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh
此时 SFTP 就已经可以使用了。
在另一台机器或本机执行:
sftp 用户名@服务器IP
例如:
sftp user@192.168.1.100
如果能进入 sftp> 提示符,说明成功。
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
确保有以下一行(一般默认存在):
Subsystem sftp /usr/lib/openssh/sftp-server
修改后重启 SSH:
sudo systemctl restart ssh
sudo adduser sftpuser
sudo nano /etc/ssh/sshd_config
在文件末尾添加:
Match User sftpuser
PasswordAuthentication yes
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding 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
如果启用了 UFW:
sudo ufw allow ssh
openssh-server 正常运行即可sshd_config 做安全限制如果你有 特定需求(如多用户、只读、Docker 环境、密钥登录),可以告诉我,我可以进一步帮你配置。