温馨提示×

Ubuntu SFTP如何使用LFTP客户端

小樊
43
2026-01-01 17:50:12
栏目: 智能运维

Ubuntu 上使用 LFTP 进行 SFTP 的简明指南

一 安装与快速连接

  • 安装 LFTP
    • Ubuntu/Debian:sudo apt update && sudo apt install lftp
  • 交互式连接
    • lftp sftp://用户名@主机或IP
    • 指定端口:lftp -p 端口 sftp://用户名@主机
  • 一行命令执行后退出
    • lftp -u 用户名,密码 -p 端口 sftp://主机 -e “ls; exit
  • 常用子命令
    • ls、cd、pwd、lcd、get、put、mget、mput、mirror、exit 以上命令覆盖安装、连接、执行与退出等基础操作,适合快速上手与脚本化调用。

二 常用传输与同步操作

  • 单文件下载/上传
    • 下载:get 远程文件 [-o 本地文件名]
    • 上传:put 本地文件 [-o 远程文件名]
  • 批量下载/上传
    • mget *.txt;mput *.log
  • 目录同步
    • 远程 → 本地:mirror 远程目录 本地目录
    • 本地 → 远程:mirror -R 本地目录 远程目录
  • 断点续传与并发
    • 断点续传:get/put -c 文件名
    • 并发传输:mirror –parallel=5 目录(可按需调整并发数)
  • 后台任务
    • 后台下载:lftp -e “get 远程文件 &” 以上覆盖了日常最常用的大文件、批量与目录同步场景,并兼顾可靠性与效率。

三 免密登录与自动化

  • 使用 .netrc 自动登录
    • 在 ~/.netrc 中添加:
      • machine 主机或IP
        • login 用户名
        • password 密码
    • 之后可直接:lftp sftp://主机
    • 注意:文件权限建议设为 600,避免泄露凭据
  • 使用 SSH 密钥(推荐)
    • 默认私钥:~/.ssh/id_rsaid_ed25519
    • 指定私钥登录:
      • lftp -u 用户名, -p 端口 sftp://主机 -e ‘set sftp:connect-program “ssh -i /path/私钥”; open; ls; exit’
  • 使用 SSH 配置简化
    • 在 ~/.ssh/config 中添加:
      • Host mysftp
        • HostName 主机或IP
        • User 用户名
        • Port 端口
        • IdentityFile /path/私钥
    • 连接:lftp sftp://mysftp
  • 脚本化一行命令
    • lftp -c “open sftp://mysftp; mirror -R 本地目录 远程目录; exit” 以上方法兼顾安全性与易用性,适合定时任务与自动化流程。

四 性能调优与稳定性设置

  • 限速
    • set net:limit-rate 100000(单位:字节/秒)
  • 重试与超时
    • set net:timeout 20
    • set net:max-retries 3
    • set net:reconnect-interval-base 5
  • 并发与续传
    • mirror –parallel=5 目录
    • get/put -c 文件
  • 本地/远程路径切换
    • lcd 本地路径;cd 远程路径 这些参数可显著提升弱网、断点续传与批量传输场景下的稳定性与效率。

五 常见问题排查

  • 证书/主机密钥不被信任
    • 交互模式临时忽略:set ssl:verify-certificate no(仅内网/测试环境建议)
  • 连接失败或卡住
    • 检查端口连通:nmap -p 22,端口 主机
    • 开启调试:lftp -d;如需 SSH 侧细节可用 ssh -v
  • 目录不存在或同步异常
    • 先用 ls/cd 确认远程路径;必要时先 lcd 到本地目标目录再 mirror
  • 权限与密钥问题
    • 确保私钥权限 600;必要时在 ~/.ssh/config 明确 IdentityFile 以上步骤可快速定位连接、认证与路径层面的常见问题。

0