在 Ubuntu 上开启 SFTP 服务其实不需要单独安装 SFTP 服务,因为 SFTP 是基于 OpenSSH 的子系统,只要 SSH 服务可用,SFTP 通常就可以直接使用。
下面是标准、安全的开启方式(适用于 Ubuntu 20.04 / 22.04 / 24.04)。
sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh
看到 active (running) 就说明没问题。
SFTP 依赖 SSH 的 sftp-server,一般默认配置已经包含。
查看配置文件:
sudo nano /etc/ssh/sshd_config
确认有以下内容(通常默认存在):
Subsystem sftp /usr/lib/openssh/sftp-server
如果没有,手动加上,然后保存。
sudo systemctl restart ssh
在客户端(Linux / macOS):
sftp username@服务器IP
Windows 可用:
如果你想禁止 SSH 登录,只允许 SFTP,可以这样做:
sudo adduser sftpuser
sudo nano /etc/ssh/sshd_config
在文件末尾添加:
Match User sftpuser
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
此时该用户不能 SSH 登录,只能 SFTP。
如果启用了 UFW:
sudo ufw allow ssh
如果你告诉我:
我可以给你更精确的配置方案。