当前位置: 首页 > news >正文

【ShuQiHere】使用 SCP 进行安全文件传输

【ShuQiHere】🚀

在日常的开发和运维工作中,文件传输是一个常见的任务。scp(Secure Copy)是一个基于 SSH 协议的文件传输工具,能够在本地和远程主机之间安全地复制文件和目录。本文将详细介绍 scp 的使用方法,并提供一些实用的代码示例和技巧。

什么是 SCP? 🤔

scp 是 Secure Copy 的缩写,用于在本地和远程主机之间安全地传输文件。它利用 SSH 协议进行数据加密,确保传输过程中的数据安全性。

基本用法 🛠️

从远程复制文件到本地

scp username@remote_host:/path/to/remote/file /path/to/local/destination

示例:

scp shuqi@laptop:~/Documents/report.pdf ~/Downloads

详细解释:

  • scp: 命令名称,代表 Secure Copy,用于安全地复制文件。
  • shuqi@laptop: 远程主机的用户名和主机名。
  • ~/Documents/report.pdf: 远程主机上要复制的文件路径。
  • ~/Downloads: 本地机器上的目标路径,文件将被复制到这个目录下。

从本地复制文件到远程

scp /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp ~/Downloads/report.pdf shuqi@laptop:~/Documents

详细解释:

  • /path/to/local/file: 本地机器上要复制的文件路径。
  • shuqi@laptop: 远程主机的用户名和主机名。
  • ~/Documents: 远程主机上的目标目录,文件将被复制到这个目录下。

复制整个目录 📁

使用 -r 参数可以递归地复制整个目录。

从远程复制目录到本地

scp -r username@remote_host:/path/to/remote/directory /path/to/local/destination

示例:

scp -r shuqi@laptop:~/Pictures ~/Downloads

详细解释:

  • -r: 递归复制整个目录,包括所有子目录和文件。
  • ~/Pictures: 远程主机上要复制的目录。
  • ~/Downloads: 本地机器上的目标路径,目录将被复制到这个位置。

从本地复制目录到远程

scp -r /path/to/local/directory username@remote_host:/path/to/remote/destination

示例:

scp -r ~/Projects/my_project shuqi@laptop:~/Documents

详细解释:

  • /path/to/local/directory: 本地机器上要复制的目录路径。
  • shuqi@laptop: 远程主机的用户名和主机名。
  • ~/Documents: 远程主机上的目标目录,目录将被复制到这个位置。

高级用法 🚀

指定端口号

如果远程主机的 SSH 服务运行在非默认端口(22),可以使用 -P 参数指定端口号。

scp -P port_number /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp -P 2222 ~/Downloads/report.pdf shuqi@laptop:~/Documents
  • -P 2222: 指定使用端口号 2222 进行连接。
  • 其他参数与基本用法相同。

限制带宽

使用 -l 参数可以限制传输带宽(单位:Kbit/s)。

scp -l limit /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp -l 1000 ~/Downloads/report.pdf shuqi@laptop:~/Documents

详细解释:

  • -l 1000: 限制传输速率为 1000 Kbit/s,防止占用过多带宽。
  • 适用于在网络速度有限或需要控制流量的情况下使用。

显示详细信息

使用 -v 参数可以显示详细的调试信息,便于排查问题。

scp -v /path/to/local/file username@remote_host:/path/to/remote/destination

示例:

scp -v ~/Downloads/report.pdf shuqi@laptop:~/Documents

详细解释:

  • -v: 启用详细模式,会显示文件传输的详细过程,有助于诊断连接问题或传输错误。

设置 SSH 密钥免密码登录 🔑

为了避免每次使用 scp 时都需要输入密码,可以设置 SSH 密钥认证。

步骤:

  1. 生成 SSH 密钥对(如果还没有的话):

    ssh-keygen -t ed25519 -C "your_email@example.com"
    

    详细解释:

    • ssh-keygen: 生成 SSH 密钥对的命令。
    • -t ed25519: 指定密钥类型为 Ed25519,较新且安全。
    • -C "your_email@example.com": 添加注释(通常为邮箱)以标识密钥。

    运行命令后,按提示操作:

    • 保存位置: 通常默认保存在 ~/.ssh/id_ed25519
    • 设置密码短语: 增加一层安全保护,建议设置,也可留空。
  2. 将公钥复制到远程主机:

    ssh-copy-id shuqi@laptop
    

    详细解释:

    • ssh-copy-id: 将本地的公钥复制到远程主机的 authorized_keys 文件中。
    • shuqi@laptop: 远程主机的用户名和主机名。

    输入密码后,公钥将自动添加到远程主机,之后使用 sshscp 时无需再输入密码。

常见问题解答 ❓

为什么要使用 SCP?

SCP 提供了一种简单且安全的方法在不同计算机之间传输文件。它基于 SSH,确保数据在传输过程中被加密,防止被窃听或篡改。

SCP 与 SFTP 有何区别?

  • SCP: 主要用于快速复制文件,操作简单,但功能相对有限。
  • SFTP: 提供更丰富的文件操作功能,如目录浏览、断点续传等,适合需要更多控制的场景。

如何中断 SCP 传输?

在文件传输过程中,可以按 Ctrl + C 来中断传输。但需注意,这可能会导致部分文件未完全传输。

如何查看传输进度?

默认情况下,SCP 会显示传输进度条。如果需要更详细的信息,可以使用 -v 参数(详见上文)。

总结 📝

scp 是一个强大且易于使用的文件传输工具,适用于各种场景。通过掌握基本和高级用法,你可以更加高效地管理本地与远程主机之间的文件传输需求。希望本文对你有所帮助!如果有任何问题或建议,欢迎在下方留言交流。😊

相关文章:

【ShuQiHere】使用 SCP 进行安全文件传输

【ShuQiHere】🚀 在日常的开发和运维工作中,文件传输是一个常见的任务。scp(Secure Copy)是一个基于 SSH 协议的文件传输工具,能够在本地和远程主机之间安全地复制文件和目录。本文将详细介绍 scp 的使用方法&#xf…...

海康威视H5player问题汇总大全

由于除了要支持Windows平台,还要支持国产系统的平台,这时就用到了H5player,但是这个在使用调试的时候会遇到各种各样的问题,便在此分享一下,供大家分享!!! 问题一:Unexp…...

力扣23.合并K个升序链表

文章目录 一、前言二、最小堆解法三、分治解法 一、前言 23. 合并 K 个升序链表 本题的要求是把K个链表进行合并,合并后的链表必须是从小到大的。 并且这K个链表也是从小到大的升序链表。 二、最小堆解法 既然每个链表都是升序的,也就是从小到大的。 …...

【C 语言指针篇】指针的灵动舞步与内存的神秘疆域:于 C 编程世界中领略指针艺术的奇幻华章

文章目录 【C 语言篇】指针的灵动舞步与内存的神秘疆域:于 C 编程世界中领略指针艺术的奇幻华章前言一 、指针的介绍与使用1. 指针的介绍1.1指针表示1.2指针变量1.3空指针 2. 使用指针2.1交换两个变量的值2.2计算输出最小值和最大值 二、野指针的介绍与使用1. 野指针…...

游戏关卡设计的常用模式

游戏关卡分为很多种,但常用的有固定套路,分为若干种类型。 关卡是主角与怪物、敌方战斗的场所,包括装饰物、通道。 单人游戏的关卡较小,偏线性; 联机/MMO的关卡较大,通道多,自由度高&#xf…...

在一台服务器上使用docker运行kafka集群

1.拉取镜像 docker pull wurstmeister/kafka docker pull wurstmeister/zookeeper 2.创建集群之间通信的网络 docker network create kafka-cluster-net docker network inspect kafka-cluster-net 3.将zookeeper加入到网络中 docker network connect kafka-cluster-net zooke…...

Apache Celeborn 在B站的生产实践

背景介绍 Shuffle 演进 随着B站业务的飞速发展,数据规模呈指数级增长,计算集群也逐步从单机房扩展到多机房部署模式。多个业务线依托大数据平台驱动核心业务,大数据系统的高效性与稳定性成为公司业务发展的重要基石。如图1,目前在大数据基础架构下,我们主要采用 Spark、Fl…...

JOIN 和 OUTER JOIN,SQL中常见的连接方式

1. INNER JOIN(简称 JOIN) INNER JOIN 是 SQL 中最常用的一种连接方式,默认的 JOIN 就是 INNER JOIN。它返回两个表中满足连接条件的匹配记录。 作用:返回两个表中所有满足 ON 条件的记录。特性:如果表中的某些行在连…...

Vue2: table加载树形数据的踩坑记录

table中需要加载树形数据,如图: 官网给了两个例子,且每个例子中的tree-props都是这么写的: :tree-props="{children: children, hasChildren: hasChildren}" 给我一种错觉,以为数据结构中要同时指定children和hasChildren字段,然而,在非懒加载模式下,数据结…...

电子信息硕士面试经验

回顾2024年秋招一些面试常见的问题,主要涉及软件开发和嵌入式部分内容。 1. 浅拷贝深拷贝 深拷贝和浅拷贝是两种不同的拷贝方式,用于复制对象。它们主要区别在于对嵌套对象的处理方式。 浅拷贝:只复制对象的顶层,嵌套对象仍然是共享引用。 深拷贝:递归复制所有对象及其嵌…...

dns网址和ip是一一对应的吗?

DNS网址和IP地址是一一对应的吗?我们在上网时,为什么总是使用网址而不是一串数字?这些问题其实涉及到互联网的基本运作原理。DNS(域名系统)是我们日常上网过程中一个不可或缺的部分,它帮助我们将人类易于记…...

springboot3 redis 常用操作工具类

在 Spring Boot 3 中,操作 Redis 通常使用 Spring Data Redis 提供的工具类,如 RedisTemplate 和 StringRedisTemplate。以下是一个详细的 Redis 操作工具类的实现,涵盖了常用功能。 完整的 Redis 工具类 以下工具类可以实现基本的 Redis 操…...

Java工程师实现视频文件上传minio文件系统存储及网页实现分批加载视频播放

Java工程师实现minio存储大型视频文件网页实现分批加载视频播放 一、需求说明 老板给我出个题目,让我把的电影文件上传到minio文件系统,再通过WEB端分配加载视频播放,类似于我们普通的电影网站。小编把Java代码共享出来。是真正的能拿过来直…...

Redis(二)value 的五种常见数据类型简述

目录 一、string(字符串) 1、raw 2、int 3、embstr 二、hash(哈希表) 1、hashtable 2、ziplist 三、list(列表) ​编辑 1、linkedlist 2、ziplist 3、quicklist(redis 3.2后的列表内…...

Docker 环境中搭建 Redis 哨兵模式集群的步骤与问题解决

在 Docker 环境中搭建 Redis 哨兵模式集群的步骤与问题解决 在 Redis 高可用架构中,哨兵模式(Sentinel)是确保 Redis 集群在出现故障时自动切换主节点的一种机制。通过使用 Redis 哨兵,我们可以实现 Redis 集群的监控、故障检测和…...

【网页自动化】篡改猴入门教程

安装篡改猴 打开浏览器扩展商店(Edge、Chrome、Firefox 等)。搜索 Tampermonkey 并安装。 如图安装后,浏览器右上角会显示一个带有猴子图标的按钮。 创建用户脚本 已进入篡改猴管理面板点击创建 脚本注释说明 name:脚本名称。…...

【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 4:MHE表示能力

目录 1 MHE的表示能力2 基于Frobenius-范数的低秩逼近3 基于CE的低秩近似 论文:Multi-Head Encoding for Extreme Label Classification 作者:Daojun Liang, Haixia Zhang, Dongfeng Yuan and Minggao Zhang 单位:山东大学 代码:h…...

Github - unexpected disconnect while reading sideband packet

Open git global config: git config --global -eLet’s try to resolve the issue by increasing buffer: git config --global http.postBuffer 52428800Try to clone again. If that doesn’t work! > You can try the partial fetch method and disabling compressi…...

Ubuntu 环境安装 之 RabbitMQ 快速入手

Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:RabbitMQ 📚本系列文章为个人学…...

UE5中实现右键开镜效果

右键之后添加时间轴,然后设置视野即可。Set Field Of View 时间轴设置,第一个点设置0,90度,因为默认的就是90度 第二个点看武器的类型或者倍境来设置,时间就是开镜时间,值越小开镜速度越快,第二个值就是视野…...

2026年产品管理工具选型测评:主流平台能力全面对比

本文选取 ONES、Tower、Jira Product Discovery、Aha!、Productboard、 Monday、Asana、ClickUp、Airfocus、Linear 十款主流平台,从企业研发管理者视角比较它们在需求管理、产品规划、路线图、跨团队协同与研发闭环上的真实差异,帮助团队更理性地完成 产…...

STEP3-VL-10B惊艳效果:手写体+印刷体混合文档端到端识别与语义整合

STEP3-VL-10B惊艳效果:手写体印刷体混合文档端到端识别与语义整合 1. 引言 想象一下,你手头有一份会议记录,上面既有打印的会议议程,又有参会者手写的笔记和批注。或者是一份学生作业,题目是印刷体,答案却…...

Elasticsearch实战篇:索引库、文档与JavaRestClient操作指南

Elasticsearch 实战篇:索引库、文档与 JavaRestClient 操作指南整理自黑马程序员《SpringCloud微服务开发与实战》Elasticsearch01 课程 对应章节:索引库操作、文档操作、JavaRestClient 客户端一、索引库操作 (Index Operations) 索引库类似于 MySQL 中…...

Abaqus Cohesive单元疲劳损伤的UMAT实现与工程验证

1. 理解Cohesive单元与疲劳损伤的基础概念 我第一次接触Cohesive单元是在分析复合材料分层问题时。这种特殊的单元类型就像给材料内部装上了"微型传感器",能够精确捕捉界面处的力学行为。与传统的连续体单元不同,Cohesive单元通过牵引-分离法则…...

从零到一:彻底搞懂数据仓库的增量、全量与拉链

1. 数据仓库的三种核心表类型 刚接触数据仓库时,我被各种表类型搞得晕头转向。直到真正动手实践后才发现,增量表、全量表和拉链表其实就像我们日常生活中的三种记账方式。想象一下,你正在经营一家小超市,这三种表就是你的三种记账…...

Evaluate 高级功能:分布式评估与性能优化指南

Evaluate 高级功能:分布式评估与性能优化指南 【免费下载链接】evaluate 🤗 Evaluate: A library for easily evaluating machine learning models and datasets. 项目地址: https://gitcode.com/gh_mirrors/ev/evaluate 🤗 Evaluate …...

AMGTA就增材制造在资源高效型制造体系中的作用发布独立报告

电子、信息和通信领域获奖者:Cynthia Dwork博士 生命科学领域获奖者:Akira Shizuo博士和Zhijian “James” Chen博士 日本奖基金会(会长:Ryozo Nagai)于4月14日(周二)在东京涩谷区的东京新国立剧…...

AI大模型智算运营运维服务建设方案:AI大模型架构、智算平台架构、数据管理架构、 运营运维服务体系设计、 项目实施与保障

本方案不仅仅停留在技术层面,而是从业务需求出发,覆盖了从战略规划、架构设计、详细实施、日常运维到持续优化和风险合规的全链条。方案中包含了大量具体的技术选型、量化指标、流程规范、成本预算和团队配置建议,展现了很强的落地指导意义。…...

职业院校智慧校园采购怎样才算明智?聊聊性价比与易用性的那些事

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

Echarts中国地图进阶:利用visualMap组件实现数据驱动的省份色彩渲染

1. 为什么需要visualMap组件? 当你第一次看到用颜色深浅表示数据差异的中国地图时,有没有想过这种效果是怎么实现的?我在处理某省疫情数据可视化时就遇到过这个需求:需要让不同风险等级的区域自动显示对应颜色。传统做法是手动给每…...