scp命令

scp命令

scp命令用于Linux之间复制文件和目录,scpsecure copy的缩写,是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令,使用scp可以实现从本地系统到远程系统、从远程系统到本地系统、在本地系统的两个远程系统之间的复制传输。scp是加密的,rcp是不加密的,可以认为scprcp的加强版。

语法

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

参数

  • -1: 强制scp使用协议1,这是一个较旧的协议。
  • -2: 强制scp使用协议2,这是一个较旧的协议。
  • -3: 两个远程主机之间的副本通过本地主机传输,如果没有此选项,数据将直接在两个远程主机之间复制,此选项还禁用进度表。
  • -4: 强制scp仅使用IPv4地址。
  • -6: 强制scp仅使用IPv6地址。
  • -B: 使用批处理模式,无需任何交互式键盘输入即可运行,这意味着scp无法通过要求用户输入密码来验证会话,此时需要使用密钥进行身份验证。
  • -C: 启用压缩,该压缩将-C标志传递给ssh以启用加密连接的压缩。
  • -c cipher: 选择用于加密数据传输的密码,此选项直接传递给ssh
  • -F ssh_config: 为ssh指定每个用户的备用配置文件,此选项直接传递给ssh
  • -i identity_file: 选择读取RSA身份验证的身份(私钥)的文件,这个选项直接传递给ssh
  • -l limit: 限制使用的带宽,以Kbit/s为单位。
  • -o ssh_option : 可用于以ssh_config中使用的格式将选项传递给ssh,例如AddressFamilyBatchModeBindAddress等等,这对于指定没有单独的scp命令标志的选项非常有用。
  • -P port:指定远程主机上要连接到的端口,注意这个选项是用大写字母P写的,因为-p已经被保留了,用于保存rcp中文件的时间和模式。
  • -p: 保留原始文件的修改时间、访问时间和模式。
  • -q: 禁用进度表。
  • -r: 递归地复制整个目录。
  • -S program: 用于加密连接的程序名称,程序必须能够解析ssh选项。
  • -v: 详细模式,使scpssh打印有关其进度的调试消息,这有助于调试连接,身份验证和配置问题。

示例

file.txt传输到远程主机。

scp file.txt root@1.1.1.1:/tmp
# file.txt                      100%    0     0.0KB/s   00:00

使用私钥将file.txt传输到远程主机。

scp -i ./v file.txt root@1.1.1.1:/tmp
# file.txt                      100%    0     0.0KB/s   00:00

将远程目录中file.txt文件传输到本地,使用私钥验证身份。

scp -i ./v root@1.1.1.1:/tmp/file.txt ./
# file.txt                      100%    0     0.0KB/s   00:00

每日一题

https://github.com/WindrunnerMax/EveryDay

参考

https://www.computerhope.com/unix/scp.htm
https://www.runoob.com/linux/linux-comm-scp.html
https://linuxize.com/post/how-to-use-scp-command-to-securely-transfer-files/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • cat命令

    cat命令属于文件管理,用于连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,注意,当文件较大时,文本在屏幕上迅速闪过,会出现滚屏现象,此时往往看不...

    WindrunnerMax
  • cut命令

    cut命令用来显示行中的指定部分,其从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出,如果不指定File参数,cut命令将读取标准输入,该...

    WindrunnerMax
  • Js中Symbol对象

    ES6引入了一种新的基本数据类型Symbol,表示独一无二的值,最大的用法是用来定义对象的唯一属性名,Symbol()函数会返回symbol类型的值,该类型具有...

    WindrunnerMax
  • CVE-2020-15778:OpenSSH命令注入漏洞复现

    OpenSSH是SSH(Secure SHell)协议的免费开源实现。OpenSSH是个SSH的软件,linux/unix都用openssh软件提供SSH服务。...

    Timeline Sec
  • python的json包位置及用法总结

    在高级版本的Python里自带json模块包,使用import json直接导入模块。

    砸漏
  • python json requests

    通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据。

    py3study
  • python操作json(一)

    Python 操作json Json语法规则: 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 Json字符串本质上是一个字符串,用单引号...

    py3study
  • Python使用JSON序列化从入门到精通

    JSON(JavaScript Object Notation)是一个轻量级的数据交换格式,Python标准库json完美实现了该格式,用法类似于marshal...

    Python小屋屋主
  • Python MOCK SERVER moco模拟接口测试过程解析

    1.接口测试等待开发完成接口开发之后再进行,不符合测试的尽早测试的基本原则,我们可以利用MOCK工具来模拟接口,减少对开发的依赖,从而可使测试与开发同步进行

    砸漏
  • Json数据交互

    AlicFeng

扫码关注云+社区

领取腾讯云代金券