温馨提示×

SFTP如何访问Ubuntu文件

小樊
47
2026-08-28 02:10:06
栏目: 智能运维

要在本地通过 SFTP 访问 Ubuntu 上的文件,常见做法如下(按使用场景由简单到进阶):


一、前提条件(必须)

  1. Ubuntu 已开启 SSH 服务
    sudo apt update
    sudo apt install openssh-server
    sudo systemctl enable ssh
    sudo systemctl start ssh
    
  2. 确认 SSH 正常运行
    systemctl status ssh
    
  3. 知道 Ubuntu 的 IP 地址
    ip a
    
    例如:192.168.1.100

二、使用 SFTP 访问 Ubuntu 文件(常见方式)

✅ 方式 1:命令行 SFTP(最通用)

本地电脑终端(Linux / macOS / Windows PowerShell)执行:

sftp 用户名@Ubuntu_IP

示例:

sftp uuser@192.168.1.100

常用命令:

ls          # 查看远程文件
cd 目录     # 切换远程目录
get 文件    # 下载文件
put 文件    # 上传文件
exit        # 退出

✅ 方式 2:使用 FileZilla(图形界面,推荐新手)

  1. 打开 FileZilla
  2. 连接信息:
    • 协议:SFTP
    • 主机:Ubuntu IP
    • 用户名:Ubuntu 用户名
    • 密码:用户密码
    • 端口:22
  3. 连接后即可拖拽文件

✅ 适合 Windows / macOS 用户


✅ 方式 3:Windows 资源管理器(无需额外软件)

Windows 10/11 支持 SFTP(通过 OpenSSH):

  1. 打开 资源管理器
  2. 地址栏输入:
    sftp://用户名@Ubuntu_IP
    
  3. 输入密码

⚠️ 部分 Windows 版本支持不完整,推荐 FileZilla


✅ 方式 4:VS Code 远程 SFTP(开发者常用)

  1. 安装插件:Remote - SSH
  2. 连接 Ubuntu
  3. 直接编辑 Ubuntu 文件(本质是 SFTP/SSH)

三、访问指定目录(如 /var /home /www)

SFTP 默认进入的是用户主目录:

/home/用户名

访问其他目录:

cd /var/www

⚠️ 如果提示 Permission denied

  • sudo 权限用户
  • 或修改目录权限:
    sudo chmod -R 755 /var/www
    

四、只允许 SFTP,不允许 SSH(可选安全配置)

编辑 SSH 配置:

sudo nano /etc/ssh/sshd_config

添加:

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

重启 SSH:

sudo systemctl restart ssh

五、常见问题排查

❌ 连接失败

  • 防火墙:
    sudo ufw allow 22
    
  • IP 是否在同一网络
  • SSH 是否启动

❌ 权限不足

  • 使用 sudo 用户
  • 或调整文件权限

六、总结(快速选择)

场景 推荐方式
服务器管理 命令行 SFTP
Windows 用户 FileZilla
开发 VS Code Remote SSH
安全隔离 SFTP-only 用户

如果你愿意,可以告诉我:

  • ✅ Ubuntu 是 服务器 / 桌面版
  • ✅ 本地是 Windows / macOS / Linux
  • ✅ 是否要 只允许 SFTP,禁止 SSH

我可以给你一套最适合你的配置方案

0