在 Linux 中,SFTP(SSH File Transfer Protocol) 通常不需要单独安装一个“sftp 服务”,因为它依赖于 SSH 服务(OpenSSH)。只要安装并启用了 SSH 服务,SFTP 就可以直接使用。
下面按常见发行版说明安装和配置方法。
在终端执行:
sftp --version
或
which sshd
如果看到 sshd 或 sftp 命令,说明已经具备 SFTP 能力。
sudo apt update
sudo apt install openssh-server -y
启动并设置开机自启:
sudo systemctl enable ssh
sudo systemctl start ssh
sudo yum install openssh-server -y
或(新版本):
sudo dnf install openssh-server -y
启动服务:
sudo systemctl enable sshd
sudo systemctl start sshd
sudo zypper install openssh
sudo systemctl enable sshd
sudo systemctl start sshd
sftp localhost
sftp user@服务器IP
如果你希望 用户只能 SFTP,不能 SSH 登录:
编辑配置文件:
sudo vim /etc/ssh/sshd_config
在末尾添加:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
然后:
sudo systemctl restart sshd
sudo ufw allow 22
或(CentOS):
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
✅ SFTP 连不上?
sshd 是否运行✅ 想用图形化 SFTP?
如果你告诉我:
我可以给你一份更精确的配置示例。