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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501827.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用python调用翻译大模型实现本地翻译【exe客户端版】

以前分享过一个 关于python 部署 网页端的 翻译大模型的 文章 有兴趣的小伙伴可以去看一下 https://blog.csdn.net/Drug_/article/details/144488795 今天就再分享一个 使用python 来制作一个 exe 客户端版的 本地大模型。 实际也很简单 只不过把 用 fastApi 框架 做的 网页端…

python3GUI--智慧交通监控与管理系统 By:PyQt5

文章目录 一.前言二.预览三.软件组成&技术难点1.软件组成结构2.技术难点3.项目结构 四.总结 大小:35.5 M,软件安装包放在了这里! 一.前言 博主高产,本次给大家带来一款我自己使…

JavaVue-Get请求 数组参数(qs格式化前端数据)

前言 现在管理系统,像若依,表格查询一般会用Get请求,把页面的查询条件传递给后台。其中大部分页面会有日期时间范围查询这时候,为了解决请求参数中的数组文件,前台就会在请求前拦截参数中的日期数组数据,然…

Vue2/Vue3使用DataV

Vue2 注意vue2与3安装DataV命令命令是不同的Vue3 DataV - Vue3 官网地址 注意vue2与3安装DataV命令命令是不同的 vue3vite 与 Vue3webpack 对应安装也不同vue3vite npm install kjgl77/datav-vue3全局引入 // main.ts中全局引入 import { createApp } from vue import Da…

RocketMQ消费者如何消费消息以及ack

1.前言 此文章是在儒猿课程中的学习笔记,感兴趣的想看原来的课程可以去咨询儒猿课堂 这篇文章紧挨着上一篇博客来进行编写,有些不清楚的可以看下上一篇博客: https://blog.csdn.net/u013127325/article/details/144934073 2.broker是如何…

高等数学学习笔记 ☞ 无穷小比较与等价无穷小替换

1. 无穷小比较 1. 本质:就是函数的极限趋于0时的速度,谁快谁慢的问题。 2. 定义:若是在同一自变量的变化过程中的无穷小,且,则: ①:若,则称是比的高阶无穷小,记作&…

django StreamingHttpResponse fetchEventSource实现前后端流试返回数据并接收数据的完整详细过程

django后端环境介绍: Python 3.10.14 pip install django-cors-headers4.4.0 Django5.0.6 django-cors-headers4.4.0 djangorestframework3.15.2 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 总环境如下: Package Version -…

Kafka为什么快(高性能的原因)

我们知道,Kafka 是基于磁盘存储的,但它却又具有高性能、高吞吐、低延时等特点,吞吐量可达几十上百万。那么 Kafka 这么快的原因是什么呢? Kafka 高性能主要取决于以下几方面: (1)消息批处理压缩…

Luma AI 简单几步生成视频

简单几步生成视频 登录我们的 AceDataPlatform 网站,按照下图所示即可生成高质量的视频,同时,我们也提供了简单易用的 API 方便集成调用,可以查看 Luma API了解详情 技术介绍 我们使用了 Luma 的技术,实现了上面的图…

Postman[7] 内置动态参数及自定义的动态参数

postman 内置动态参数和自定义的动态参数 1.内置动态参数 格式:{{$参数名}} 1.1时间戳 {{$timestamp}} //生成当前时间的时间戳 1.2随机整数 {{$randomint}} //生成0-1000之间的随机数 1.3GUID字符串 {{$guid}} //生成随机GUID字符串 2.自定义动态参数 格式…

Excel VBA 自动填充空白并合并相同值的解决方案

文章目录 Excel VBA: 自动填充空白并合并相同值的解决方案问题背景解决方案1. VBA代码实现2. 代码说明3. 使用方法4. 注意事项 扩展优化总结 Excel VBA: 自动填充空白并合并相同值的解决方案 问题背景 在Excel中经常会遇到这样的数据处理需求:一列数据中存在多个空…

STM32-笔记32-ESP8266作为服务端

esp8266作为服务器的时候,这时候网络助手以客户端的模式连接到esp8266,其中IP地址写的是esp8266作为服务器时的IP地址,可以使用ATCIFSR查询esp8266的ip地址,端口号默认写333。 当esp8266作为服务器的时候,需要完成哪些…

JavaScript性能

随着应用规模的增长,JavaScript 性能的优化变得尤为重要。这篇文章将分享 10 个实用的优化技巧,帮助开发者提升前端性能。 减少 DOM 操作 操作 DOM 是性能瓶颈。将多个操作合并到一个操作中,或者使用虚拟 DOM(如 React&#xff…

组网实训实现

小型单元网络实现 IP划分: 外网:172.1.1.0/24 172.1.2.0/24 内网:基于192.168.3.0/24的子网划分 综合办公楼:192.168.3.00 000000 /26(192.168.3.0-192.168.3.63) 综合一楼:192.168.3.0000 0000 /28&…

GIT 企业级开发学习 1_基本操作

本节主要命令: git init ls 不能列出 .git ls -a 列出 .git 创建本地仓库 1. 初始化 Git 仓库 git init • 初始化一个新的 Git 仓库,在当前目录下生成一个 .git 隐藏文件夹,用于存储版本控制信息。 2. 查看隐藏文件 ls -a • 使用 ls …

Elasticsearch:利用 AutoOps 检测长时间运行的搜索查询

作者:来自 Elastic Valentin Crettaz 了解 AutoOps 如何帮助你调查困扰集群的长期搜索查询以提高搜索性能。 AutoOps 于 11 月初在 Elastic Cloud Hosted 上发布,它通过性能建议、资源利用率和成本洞察、实时问题检测和解决路径显著简化了集群管理。 Au…

《learn_the_architecture_-_generic_interrupt_controller_v3_and_v4__lpisn》学习笔记

1.LPI(Locality-specific Peripheral Interrupts)是一种基于消息的中断(Message Signaled Interrupt,MSI),由中断翻译服务(ITS)提供翻译。这是因为LPI的设计目标是为系统中大量的设备提供高效的中断管理&am…

SD下载、安装、使用、卸载-Stable Diffusion整合包v4.10发布!

目录 前言概述 SD安装1、安装软件2、启动3、配置4、运行5、测试 导入SD模型【决定画风】常用模型下载安装模型 SD卸载SD文生图提示词提示词使用技巧提示词的高级使用技巧强调关键词 前言 我向来不喜欢搞一些没有用的概念,所以直接整理可能用到的东西。 sd简单的说…

性能测试03|JMeter:断言、关联、web脚本录制

目录 一、断言 1、响应断言 2、json断言 3、持续时间断言 二、关联 1、正则表达式介绍 2、正则表达式提取器 3、Xpath提取器 4、JSON提取器 5、JMeter属性 三、web脚本录制 一、断言 定义:让程序自动判断实际的返回结果是否与预期结果保持一致 自动校验…

GitHub Fork 和 Clone 的深度指南:操作解析与 Pull Request 完整流程20241231

GitHub Fork 和 Clone 的深度指南:操作解析与 Pull Request 完整流程 快速导航 引言Fork 与 Clone 概念对比完整开发流程Pull Request 最佳实践常见问题与解决方案最佳实践建议实战案例 引言 在开发者的协作世界中,GitHub 就像一座桥梁,连…