在 Ubuntu 里**“SFTP”本身不是软件包**,它通常是 OpenSSH 服务端提供的功能(sftp-server 属于 openssh-server)。所以“卸载 SFTP”一般有两种理解,下面分别说明:
编辑 SSH 配置:
sudo nano /etc/ssh/sshd_config
找到或添加这一段:
Subsystem sftp /usr/lib/openssh/sftp-server
直接注释掉或改为:
# Subsystem sftp /usr/lib/openssh/sftp-server
重启 SSH:
sudo systemctl restart ssh
✅ 这样 SFTP 不能用了,但 SSH 还能登录。
在 sshd_config 里加:
Match User testuser
ForceCommand /bin/bash
PermitTunnel no
或更严格:
Match User testuser
Subsystem sftp internal-sftp
ChrootDirectory /home/testuser
dpkg -l | grep openssh
sudo apt remove openssh-server
或彻底删除:
sudo apt purge openssh-server
⚠️ 警告:
这会让你的服务器无法远程 SSH 登录,如果是云服务器,请谨慎操作!
例如:
sudo apt remove filezilla
或
sudo snap remove filezilla
| 需求 | 做法 |
|---|---|
| 不用 SFTP | 注释 Subsystem sftp |
| 禁止某用户 | 用 Match User |
| 彻底卸载 | apt remove openssh-server |
| 删客户端 | 卸载对应软件 |
如果你能说清楚:
我可以给你更精确的一条命令。