如何用wget下载整个网站

SCP(安全复制协议)

原理:基于SSH加密传输,适合中小文件。
命令格式

scp [选项] 用户名@远程IP:远程文件路径 本地保存路径

示例

  1. 复制单个文件(远程22端口,用户名为user

    scp -P 2222 user@192.168.1.100:/home/user/data.txt /local/dir/

    -P 2222:指定SSH端口(默认22可省略)
    /local/dir/:本地目录需提前创建

  2. 递归复制目录

    scp -r user@192.168.1.100:/remote/dir /local/path

注意事项

  • 使用SSH密钥认证更安全(通过ssh-keygen生成密钥对)
  • 传输大文件时可能较慢(无增量同步功能)

Rsync(增量同步工具)

原理:仅传输差异部分,适合大文件或定期备份。
命令格式

rsync [选项] 用户名@远程IP:源路径 本地路径

示例

rsync -avz -e "ssh -p 2222" user@192.168.1.100:/home/user/project/ /backup/
  • -a:归档模式(保留权限、时间戳)
  • -v:显示详细过程
  • -z:压缩传输
  • -e:指定SSH端口

优势

  • 支持断点续传(--partial选项)
  • 可排除文件(--exclude='*.log'

SFTP(交互式安全传输)

原理:通过SSH建立FTP-like会话,适合手动操作。
操作步骤

  1. 连接远程服务器:
    sftp -P 2222 user@192.168.1.100
  2. 下载文件:
    sftp> get /remote/file.txt /local/path/
  3. 下载目录(需先打包):
    sftp> get -r /remote/dir  # 部分SFTP客户端支持递归

HTTP/FTP下载(公开文件)

适用场景:远程文件已通过Web/FTP服务公开。
工具命令

# 使用curl
curl -o /local/data.tar.gz ftp://user:pass@192.168.1.100/data.tar.gz

注意

  • FTP密码在命令中明文存储不安全,建议改用SCP/rsync
  • 支持断点续传(wget -ccurl -C -

SSH + Tar(高效传输目录)

原理:在SSH管道中打包传输,避免逐个文件处理。
操作命令

ssh -p 2222 user@192.168.1.100 "tar czf - /remote/dir" | tar xzvf - -C /local/path
  • tar czf -:远程打包并输出到标准流
  • tar xzvf -:本地解压标准流输入
  • -C:指定解压目录

优势

  • 处理大量小文件时速度显著提升
  • 自动保留文件属性

方法对比与选择建议

方法 适用场景 安全性 效率
SCP 单文件/小目录快速传输 中等
Rsync 大文件/定期备份/增量同步
SFTP 交互式查看并下载
HTTP/FTP 公开文件直链下载 中低
SSH+Tar 超大型目录(如日志文件) 最高

安全实践指南

  1. 密钥认证
    生成SSH密钥对替代密码登录:

    ssh-keygen -t ed25519  # 生成密钥
    ssh-copy-id -i ~/.ssh/id_ed25519.pub user@192.168.1.100  # 部署公钥
  2. 防火墙配置
    • 限制SSH端口访问IP白名单
    • 使用非标准端口(如2222)减少扫描攻击
  3. 传输加密
    避免使用FTP等明文协议,优先选择SCP/rsync over SSH。

常见问题排查

  • 权限拒绝
    检查远程文件读权限(ls -l)及本地目录写权限。
  • 连接超时
    验证网络连通性(ping 192.168.1.100)和防火墙规则。
  • 磁盘空间不足
    使用df -h检查本地存储空间。

引用说明:本文参考Linux man手册(man scp/man rsync)、OpenSSH官方文档及IBM安全传输指南,实践命令已在Ubuntu 22.04/CentOS 7环境中验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6656.html

(0)
酷番叔酷番叔
上一篇 2025年7月8日 09:25
下一篇 2025年7月8日 09:49

相关推荐

  • 源码包安装失败怎么办?

    Linux内核源码是操作系统核心的开放源代码,由全球开发者共同维护,获取源码对开发者、系统管理员或技术爱好者至关重要,可用于学习操作系统原理、调试问题或定制专属内核,本文将详细介绍官方推荐且安全可靠的获取方法,确保您获取的源码真实、完整,官方推荐方法(首选)通过Linux内核官网下载步骤:访问官网:https……

    5天前
    800
  • 如何安装Telnet服务?

    在Linux系统中打开23端口(通常用于Telnet服务)需要安装、配置Telnet服务并调整防火墙设置,以下是详细步骤,但请注意:Telnet协议以明文传输数据(包括密码),存在严重安全风险,仅建议在测试环境使用,生产环境强烈推荐使用SSH(22端口)替代,更新系统包缓存sudo apt update # D……

    2025年7月10日
    900
  • 一键开机背后的秘密?

    自动化引导到桌面硬件启动 (Power-On Self Test – POST):按下电源键,电脑硬件(主板、CPU、内存等)通电,主板上的固件(通常是 BIOS 或更现代的 UEFI)执行自检(POST),检查关键硬件(内存、显卡、硬盘等)是否正常工作,如果自检通过,你会听到一声短促的“滴”声(或没有声音,取……

    6小时前
    300
  • 如何高效使用 ip 命令?

    在Linux系统中查看内网IP地址是网络配置和故障排查的基础操作,内网IP(通常指私有IP地址,如x.x.x、16.x.x-172.31.x.x、168.x.x)用于局域网内设备通信,以下是6种专业方法,适用于大多数Linux发行版(Ubuntu、CentOS、Debian等),按使用频率排序:最现代且全面的工……

    1小时前
    100
  • eth0如何添加虚拟IP 192.168.1.100?

    在Linux系统中,虚拟IP(Virtual IP,简称VIP)是一种将多个IP地址绑定到同一张物理网卡的技术,它常用于高可用集群(如Keepalived)、负载均衡、服务冗余等场景,确保当主节点故障时,备用节点能无缝接管服务,以下将详细讲解配置方法,涵盖临时与永久两种方式,并针对不同发行版提供指导,虚拟IP的……

    1天前
    200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信