如何用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 -c或curl -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系统如何查看SVN的版本号、信息、方法及操作?

    在Linux环境下,Subversion(SVN)作为经典的集中式版本控制系统,查看版本信息是日常开发和管理中的核心操作,无论是确认客户端版本、仓库状态,还是追踪文件变更历史,掌握相关命令都能高效提升工作效率,本文将详细介绍Linux下查看SVN版本的多维度方法,涵盖客户端、仓库、文件及历史记录等场景,并辅以命……

    2025年8月22日
    28600
  • Linux如何检查64位支持?终端命令速查

    查看操作系统位数(是否运行64位内核)方法1:使用 uname -a 命令uname -a输出示例:Linux hostname 5.15.0-86-generic #96-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux关键判断:若出现 x86_64、amd64 或 aarc……

    2025年7月4日
    18100
  • 命令行秒切Linux桌面目录?

    核心命令cd ~/Desktop # 适用于英文环境cd ~/桌面 # 适用于中文环境原理:代表当前用户的家目录(如/home/用户名),桌面目录通常位于家目录下,名为Desktop(英文)或桌面(中文),详细步骤打开终端按Ctrl+Alt+T快捷键或从应用菜单启动终端,检查当前目录输入pwd查看当前位置,确认……

    2025年7月31日
    33400
  • Linux系统下如何修改IP地址?

    在Linux系统中,修改IP地址是网络管理的基础操作之一,无论是临时调试还是长期网络配置,都需要掌握正确的方法,Linux修改IP地址的方式主要分为临时修改和永久修改两大类,不同发行版(如RedHat系、Debian系)的具体操作略有差异,且可通过命令行或图形界面实现,本文将详细讲解各类方法的具体步骤、适用场景……

    2025年9月29日
    1.2K00
  • 台式机如何安装Linux系统?详细操作步骤是怎样的?

    在台式机上安装Linux系统是一个相对简单的过程,但需要做好充分的准备和细致的操作,本文将详细介绍从准备工作到安装完成的全部步骤,帮助用户顺利完成Linux系统的部署,安装前的准备工作在开始安装前,需确保硬件和软件准备就绪,避免安装过程中出现意外,硬件检查台式机配置:确认台式机的CPU、内存、硬盘等硬件满足Li……

    2025年9月13日
    20800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信