温馨提示×

如何使用SFTP下载远程文件

小樊
45
2025-11-15 06:52:23
栏目: 编程语言

使用 SFTP 下载远程文件的实用指南

一 命令行快速上手

  • 连接远程主机
    • 基本用法:sftp user@host
    • 指定端口:sftp -oPort=2222 user@host
    • 使用私钥:sftp -i /path/to/id_rsa user@host
  • 常用导航与查看
    • 远程:lscdpwd
    • 本地:lcdlpwd
  • 下载文件
    • 下载单个文件:get remote_file
    • 指定本地保存名:get remote_file local_name
    • 下载整个目录:get -r remote_dir
    • 断点续传:reget remote_file(中断后继续)
  • 退出会话:exitbye

二 常用场景命令示例

  • 指定端口与密钥下载
    • sftp -oPort=2222 -i ~/.ssh/id_rsa alice@203.0.113.10
    • 连接后:get /var/log/syslog ./syslog
  • 下载并重命名
    • get /opt/data/report.csv ./report_2025-11-15.csv
  • 递归下载目录
    • get -r /opt/backups ./backups_2025-11-15
  • 批量下载匹配文件
    • get *.log(当前远程目录下所有 .log 文件)
  • 断点续传
    • 传输中断后执行:reget large_file.iso

三 非交互式与图形化方式

  • 非交互式批量下载
    • 新建批处理文件 download.txt:
      cd /remote/dir
      lcd /local/dir
      get -r project
      bye
      
    • 执行:sftp -b download.txt user@host
  • 图形化客户端
    • 使用 FileZillaWinSCP 等,新建站点选择协议 SFTP,填写主机、端口(默认 22)、用户名,选择密码或密钥登录,在远程目录选中文件拖拽到本地即可。

四 常见问题与排查

  • 连接失败
    • 核对主机地址、端口(默认 22)、网络连通性与防火墙;确认 SFTP/SSH 服务已启用。
  • 权限不足
    • 检查远程文件/目录权限与属主,必要时调整或切换具备权限的账号。
  • 传输中断
    • 网络不稳时优先使用 reget 续传;大文件建议在 screen/tmux 中执行以防会话中断。
  • 密钥相关
    • 私钥文件权限应为 600;如使用密钥仍失败,核对私钥路径与账号是否匹配。

五 实用建议

  • 下载前先用 ls -l 确认文件大小与修改时间,下载后用本地 ls -l 校验;大文件传输建议使用 screen/tmuxreget 提升成功率。

0