简介

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证。

scp只要通过sshd服务进行通讯,而且要求两端都有scp这个命令。

用法scp [-pqrvBC1246] [-F ssh_config] [-S program] [-P port] [-c cipher] [-i identity_file] [-l limit] [-o ssh_option] [[user@]host1:]file1 [...] [[user@]host2:]file2

常用方式

复制一个文件到远程主机

scp file 192.168.1.100:/tmp/

如果不指定用户名, 默认是跟当前的用户名是一样,如果是需要制定用户直接是root@192.168.1.100;端口默认是ssh_config配置的端口(默认是22),如果IP后面不加路径,默认就是用户的家目录。

复制一个文件夹

scp -r dir1 192.168.1.100:/tmp/

复制目录需要添加一个-r参数,来递归复制。

注意:这里的目录中的软链接,如果是目录打软链接,会被当成正常的目录,复制所有打文件到远程,导致软链接都消失了。

拷贝多个文件或者目录

scp -r dir1 dir2 file1 file2 192.168.1.100:/tmp/

只要把目标放到最后,中间的文件目录都会被拷贝到远程的/tmp目录。

限速拷贝

scp -l 102400 -r dir 192.168.1.100:/tmp

-l 参数的单位是:Kbit/s,限速可以防止拷贝文件占用带宽,导致正常的服务出现异常。

自定义端口

scp -l 102400 -r -P 2222 dir root@192.168.1.100:/tmp

为了安全一点,有些ssh服务不使用默认端口了,这时候拷贝文件就需要指定端口,用-P这个参数(是大写的P)

指定密钥

scp -i /data/id_rsa -r dir root@192.168.1.100:/tmp

有些情况,是直接使用密钥进行验证的,如果不是本机默认打key,需要使用-i指定一下密钥打路径。

指定ssh_config配置文件

scp -F /data/ssh_config -r dir root@192.168.1.100:/tmp

scp调用的是ssh_config,有时候,我们自定义打一些参数,比如自动接受key之类的参数,又不想影响系统本身自带的配置。这时候就需要-F制定一下ssh客户端的配置。默认加载的是/etc/ssh/ssh_config

总结

scp使用起来简单方便,但是对于软链接的处理不是很人性化。可以先使用tar打包,然后再进行拷贝。

tar zcvf file.tar.gz dir1 file

scp file.tar.gz 192.168.1.100:/tmp/

linux scp ssh拷贝文件,linux-远程拷贝文件之scp相关推荐

  1. kali linux通过ssh+putty来实现远程登录(亲测有效)

    kali linux通过ssh+putty来实现远程登录(亲测有效) 第一步:安装ssh:sudo apt-get install ssh(如果出现依赖问题,请安提示 安装之后再次进行测试) 第二步: ...

  2. 从远程服务器拷贝文件命令,远程拷贝文件命令Scp的使用

    scp通过网络在两台主机之间拷贝文件,数据在传输过程中是经过加密的,其底层使用ssh来进行数据传输,并且它和ssh有相同的验证机制和同样的安全级别.当使用scp拷贝一个文件到另一台主机上的时候,如果目 ...

  3. linux关于ssh免密登录、known_hosts文件

    1. 关于ssh SSH 是 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议.SSH 是目前广泛采用的安全登录协议,专为远程登录会话和其他网络服务提供安全性的协议,替代以前不 ...

  4. ansys本地的help文件_linux - 远程拷贝文件之rsync

    简介 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步,这个算法只 ...

  5. linux ssh服务,Linux配置SSH服务以便实现远程连接

    Linux用户们一定想要知道该怎么开启SSH服务吧,SSH服务是Linux系统远程连接的重要方式,所以如何配置SHH服务也让很多用户感到纠结.现在小编就帮大家解决这个问题. 配置方法: 查询\安装SS ...

  6. linux服务器怎么开启远程,Linux配置SSH服务以便实现远程连接

    Linux用户们一定想要知道该怎么开启SSH服务吧,SSH服务是Linux系统远程连接的重要方式,所以如何配置SHH服务也让很多用户感到纠结.现在小编就帮大家解决这个问题. 配置方法: 查询\安装SS ...

  7. linux配置ssh免密码,Linux下配置SSH免密通信 - “ssh-keygen”的基本用法

    一.什么是SSH 引用百度百科的说明: SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:它是建立在应用层基础上的安全协议. S ...

  8. linux sftp ssh端口分开,Linux SSH和SFTP服务分离

    原理: 创建两个'sshd'进程,一个作为ssh服务的deamon,一个作为sftp服务的deamon. ssh服务和sftp服务分离之前: 系统内开启ssh服务和sftp服务都是通过/usr/sbi ...

  9. 远程往服务器上传送文件,服务器远程传送文件

    服务器远程传送文件 内容精选 换一换 使用MSTSC方式登录Windows云服务器,可以正常播放音频文件.但是,使用VNC方式登录Windows云服务器时,播放音频文件没有声音.VNC方式不具备音频调 ...

  10. 文件包含原理及本地文件包含漏洞演示(本地文件,远程包含文件的测试)

    一.文件包含漏洞概述 1.定义:文件包含漏洞是一种最常见的漏洞类型,它会影响依赖于脚本运行时的web应用程序.当应用程序使用攻击者控制的变量构建可执行代码的路径时,文件包含漏洞会导致攻击者任意控制运行 ...

最新文章

  1. We PE U盘安装win7系统
  2. android 结束if循环_Android Handler 消息循环机制
  3. GitLab CI/CD 基础教程(三)
  4. 线程类中如何调用service_你真的了解Java多线程吗?
  5. nyoj1228矩形判断
  6. Linux CentOS 6.x 关闭图形化界面的方法
  7. 能玩java游戏oppo按键手机_游戏手机排行榜|OPPO Reno果然不负期待
  8. 全球增长最快域名解析商Top10:中国占据四席
  9. 背景图处理,这是个好东西记录一下
  10. Java小白进阶笔记(3)-初级面向对象
  11. IDEA 搭建 SpringBoot + Maven + Oracle + Hibernate 项目框架
  12. 【Java】编写Java程序,完成从键盘输入两个运算数据,计算两数之和并输出结果...
  13. Intel VT-x 处于禁用解决方法
  14. keil5图标变成白色_平面设计:创建万圣节图标
  15. SQL Server 2008超详细安装教程附下载链接
  16. 《HTTP权威指南》学习总结1——HTTP协议概述
  17. 2 --> PCIE 协议栈的框架详解
  18. 02 | 从神经元说起:结构篇
  19. Axure RP9 轮播图交互
  20. 刀片服务器如何选择操作系统,刀片服务器如何选择操作系统?

热门文章

  1. UltraEdit(UE编辑器)常用快捷键一览
  2. 从Client应用场景介绍IdentityServer4(二)
  3. Spring中为什么要开启注解扫描
  4. jsp调用Python
  5. 备份long字段数据
  6. 2015年职场人薪资惬意度调查报告
  7. Android 通知栏用法例子
  8. android开发学习笔记(一)
  9. 在线Excel文件解析转换成JSON格式
  10. Linux中buff-cache占用过高解决方案