如何用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

相关推荐

  • Windows装Linux双系统会冲突吗?

    准备工作(关键步骤)数据备份使用外部硬盘或云存储备份 Windows 的重要数据(文档/照片/系统镜像),创建 Windows 恢复驱动器(控制面板 → 恢复 → 创建恢复驱动器),选择 Linux 发行版新手推荐:Ubuntu 22.04 LTS(长期支持版)或 Linux Mint官网下载 ISO 文件(示……

    2025年7月21日
    11200
  • Linux系统如何正确读取脚本文件内容?

    在Linux系统中,脚本是一组预先编写的命令集合,通常以.sh为扩展名,通过解释器(如bash、sh等)读取并执行,以实现自动化任务或复杂操作,要正确读取并执行Linux脚本,需理解脚本的创建、权限设置、解释器调用、参数传递及错误处理等核心环节,以下从基础到进阶详细说明Linux如何读取脚本,脚本的创建与编辑脚……

    2025年10月6日
    9200
  • linux 如何返回上级目录

    Linux 中,使用 `cd ..

    2025年8月18日
    10300
  • Linux下如何查看进程号?有哪些常用命令和操作步骤?

    在Linux系统中,进程号(PID,Process ID)是操作系统中用于唯一标识每个进程的数字,管理进程、调试程序、监控系统资源时,都需要准确获取进程号,Linux提供了多种命令查看进程号,不同命令适用于不同场景,下面详细介绍这些方法及其实际应用,使用ps命令查看静态进程列表ps(Process Status……

    2025年9月25日
    40800
  • Linux密码忘了怎么办?

    当您忘记Linux系统密码时,无需重装系统,根据系统环境和权限要求,可通过以下方法恢复访问权限,操作前需满足物理访问服务器或拥有root权限的前提条件,若系统启用了全盘加密(如LUKS),需先解密磁盘,通过恢复模式重置密码(推荐)适用系统:Ubuntu/Debian/CentOS/RHEL等主流发行版步骤:重启……

    2025年7月14日
    14800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信