温馨提示×

怎样在ubuntu开启sftp功能

小樊
37
2026-10-22 20:18:53
栏目: 智能运维

在 Ubuntu 上,SFTP 功能通常默认就已经开启(因为 OpenSSH Server 自带 SFTP 子系统)。你只需要确保 SSH 服务正常运行即可。下面按步骤说明:


一、确认并安装 OpenSSH Server

1. 检查是否已安装

which sshd

或

systemctl status ssh

2. 如果未安装

sudo apt update
sudo apt install openssh-server

二、启动并启用 SSH 服务(SFTP 依赖 SSH)

sudo systemctl start ssh
sudo systemctl enable ssh

此时 SFTP 就已经可以使用了。


三、测试 SFTP 是否可用

在另一台机器或本机执行:

sftp 用户名@服务器IP

例如:

sftp user@192.168.1.100

如果能进入 sftp> 提示符,说明成功。


四、(可选)确认 SFTP 子系统配置

编辑 SSH 配置文件:

sudo nano /etc/ssh/sshd_config

确保有以下一行(一般默认存在):

Subsystem sftp /usr/lib/openssh/sftp-server

修改后重启 SSH:

sudo systemctl restart ssh

五、(常见需求)限制用户只能使用 SFTP,不能登录 Shell

1. 创建用户

sudo adduser sftpuser

2. 修改 sshd_config

sudo nano /etc/ssh/sshd_config

在文件末尾添加:

Match User sftpuser
    PasswordAuthentication yes
    ChrootDirectory /home/sftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no

3. 设置目录权限(非常重要)

sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload

4. 重启 SSH

sudo systemctl restart ssh

六、防火墙注意(如有)

如果启用了 UFW:

sudo ufw allow ssh

总结

  • ✅ Ubuntu 默认支持 SFTP
  • ✅ 只要 openssh-server 正常运行即可
  • ✅ 可通过 sshd_config 做安全限制

如果你有 特定需求(如多用户、只读、Docker 环境、密钥登录),可以告诉我,我可以进一步帮你配置。

0 踩