零、scp说明

SCP(Secure Copy)是一个在各个主机之间进行复制或者文件传输的一个命令行工具。

它使用一种同ssh一样的安全机制。事实上,它在后台使用ssh连接来进行文件的传输。

scp既指一种定义安全复制应该如何工作的协议,也指一种可以被安装的作为OpenSSH工具套的一部分的软件或是指令。

在这篇简单的教程中,我们可以看到一些scp指令的例子以及如何使用它进行安全的文件传输。

语法格式:
scp source_file_path destination_file_path

根据不同的主机,文件路径应该包扩:完整的主机地址,端口号,用户名,密码以及文件路径。

所以如果你正在从你的本地计算机“发送”文件到远程计算机(上传)的语法是这样的:

scp ~/my_local_file.txt user@remote_host.com:/some/remote/directory

当从远程主机复制文件到本地主机(下载),他看起来正好相反:

scp user@remote_host.com:/some/remote/directory  ~/my_local_file.txtscp user@192.168.1.3:/some/path/file.txt .

这里很多是有关用scp来完成常规任务的。除了这些,scp也支持很多其他的选项和功能。让我们快速看一下他们的综述。

没错,默认情况下,scp总是覆盖目标地址的文件。如果你想避免它,那就使用功能更为强大的rsync工具吧。

一、详细输出

有了详细的输出,SCP的程序将输出大量关于它在后台做什么的信息。

当程序失败或无法完成请求时这是非常有用的。详细的输出将正确的指明该程序哪里出了问题。

输出的信息将会很多,而且包含有关连接如何建立,正在使用什么配置和认证文件等等的详细信息。

scp -v ~/test.txt root@192.168.1.3:/root/help2356.txt

二、多文件传输

多个文件可以像下面那样用空格分隔开

scp foo.txt bar.txt username@remotehost:/path/directory/

从远程主机复制多个文件到当前目录

scp username@remotehost:/path/directory/\{foo.txt,bar.txt\} ./scp root@192.168.1.3:~/\{abc.log,cde.txt\}  ./

三、复制整个文件夹(递归)

为了从一个主机往另一个主机复制整个文件夹,需要使用r switch并且指定目录

scp -v -r ~/Downloads root@192.168.1.3:/root/Downloads

四、在两个远程主机之间复制文件

scp也可以把文件从一个远程主机复制到另一个远程主机。

scp user1@remotehost1:/some/remote/dir/foobar.txt  user2@remotehost2:/some/remote/dir/

五、用压缩来加快传输

一个用于加快传输,节省时间和带宽的超酷的选项!你所需要做的就是用C选项来启用压缩功能。

该文件在传输过程中被压缩,在目的主机上被解压缩。

scp -vrC ~/Downloads root@192.168.1.3:/root/Downloads

在上面的例子中我们开启压缩选项移动了整个文件夹。速度的增长取决于多少文件能被压缩。

六、限制带宽的使用

如果你不想scp占用所有的带宽,那么用选项“l”来限制最大传输速度,Kbit/s

scp -vrC -l 400 ~/Downloads root@192.168.1.3:/root/Downloads

七、在远程主机上连接一个不同的端口

如果远程服务器有ssh守护进程运行在不同的端口上(默认是22),那么你需要告诉scp使用“-P”选项(大写)来使用指定的端口。

scp -vC -P 2200 ~/test.txt root@192.168.1.3:/some/path/test.txt

八、保存文件属性

“-p”选项(小写),将会保存源文件的修改时间,访问时间以及方式。

scp -C -p ~/test.txt root@192.168.1.3:/some/path/test.txt

九、安静模式

在安静模式(“-q”选项),scp输出将会减少,并且不再显示进度表以及警告和诊断信息。

scp -vCq ~/test.txt root@192.168.1.3:/some/path/test.txt

十、特殊标识文件

当使用基于秘钥认证(无密码)。你将使用特殊的包含私有秘钥的标识文件。

这个选项直接传递到ssh命令并且以同样的方式工作。

scp -vCq -i private_key.pem ~/test.txt root@192.168.1.3:/some/path/test.txt

十一、使用不同的ssh_config文件

用”F”选项指定不同的ssh_config文件

scp -vC -F /home/user/my_ssh_config ~/test.txt root@192.168.1.3:/some/path/test.txt

十二、使用不同的加密

scp默认使用AES加密,有时候你可能想使用不同的加密。

用不同的加密可能会加快转移过程,举例来说,blowfish和arcfour被认为比AES更快的存在(但是安全上不如AES)。

scp -c blowfish -C ~/local_file.txt username@remotehost:/remote/path/file.txt

在上面的例子中我们用blowfish加密并同时压缩,这可以得到显著的速度上的提升,当然也取决于可用的带宽。

十三、other

尽管SCP在安全地传输文件方面是非常有效的,它缺乏一个文件同步工具必要的功能。

它所能做的就是复制粘贴上述所有文件从一个位置到另一个位置。

一个更强大的工具的Rsync它不仅具有SCP的所有功能,而且增加了更多的功能用来在2个主机智能同步文件。

例如,它可以检查并上传只有修改过的文件,忽略现有的文件等等。

转载:转载地址

使用ssh的工具scp传输文件相关推荐

  1. Linux基础之-网络配置,主机名设置,ssh登陆,scp传输

    一. 网络配置修改 1.临时修改(ip,dns,netmask,gateway) 临时修改网络配置,只要没有涉及到修改配置文件的,在network服务重启后,所有设置失效 2.永久修改(ip,dns, ...

  2. scp 传输文件到另一台服务器

    文章目录 一.scp 命令简介 二.简单测试 scp 命令 1.启动 ssh 服务 3.scp 命令格式 2.运行 scp 命令 三.scp 免密码传输文件 四.docker 备份 MySQL 到另一 ...

  3. 使用scp传输文件 Host key verification failed.解决

    在用scp传输文件时,看到如下报错信息: ysgz@ysgz:~/Desktop$ scp check.sh ysgz@192.168.3.6:/tools @@@@@@@@@@@@@@@@@@@@@ ...

  4. 使用scp传输文件给linux服务器,出现Permission denied(publickey) 的解决办法

    原因:scp传输文件基于ssh拷贝服务,但是ssh在没有密钥登录的情况下,禁用了密码登录,所以需要我们修改ssh的配置文件 解决方法: 1.通过软件(putty.xshell等)或者浏览器控制台远程连 ...

  5. scp传输文件 Permission denied, please try again

    [问题] scp传输文件时提示: 但是同样的密码又能连接服务器,网上的方法也都没有用. [原因] 传输格式存在问题: 即本人使用服务器时需要设置端口号,但网上提供的scp格式范例中没有设置端口参数-P ...

  6. Windows scp传输文件给Linux

    Windows scp传输文件给Linux C:\Users\Administrator.DESKTOP-CGIO78B>scp C:\Users\Administrator.DESKTOP-C ...

  7. Java 文件传输小工具,网络传输文件,内网传输

    文件传输小工具,网络传输文件,内网传输 换了一台电脑,想把一台电脑的资料放到另一太电脑上,由于没有太大的U盘就动手用Java写了个小工具.有需要的朋友下载使用! 运行环境 运行环境需要安装JDK,并配 ...

  8. linux使用scp传输文件出现Permission denied解决办法

    linux使用scp传输文件出现Permission denied解决办法 前言 今天在两个linux服务器上用scp传输文件出现如下报错,经过查找资料决绝了该问题 解决 修改想要传输的文件夹的权限为 ...

  9. Linux 用ssh远程登录及scp传输文件

    #ssh ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器. ####语法 ssh (选项) 远程主机 ####常用选项 -1:强制使用ssh协议版本1 ...

最新文章

  1. Sqlserver 2000 迷你、便携企业管理器(10M),支持Dts编辑
  2. DataRow复制一行到另一个DataTable
  3. go语言初体验(流程控制、range遍历、函数、结构体、面向对象)
  4. scrapy 分布式 mysql_Scrapy基于scrapy_redis实现分布式爬虫部署的示例
  5. mysql sqlserver分页_SqlServer、MySql万能分页代码
  6. 天气预报HTML代码
  7. 矩阵转置(信息学奥赛一本通-T1126)
  8. 【综合】JS跨域方案JSONP与CORS跨域
  9. Dapper Sqlpara where in
  10. JavaScript专题之跟着 underscore 学节流
  11. 电脑能登录微信,但网页打不开
  12. word插入脚注后最后一页多了一个分页符(下一页),导致最后多了一个空白页,删除不掉。
  13. CTF easycap Banmabanma
  14. 做成事情的3个要素:意愿、能力、资源
  15. php正则匹配中文和英文字母,PHP正则匹配中文字母数字正则的表达式
  16. 计算机一级c云大,云南大学网红C位易主!新晋流量霸主竟然是……
  17. 2014年IT互联网行业薪酬待遇
  18. python locust学习笔记
  19. 极客日报:恶意软件感染超1000万台安卓设备;淘宝App已支持“云闪付”付款;OpenSSH 8.8发布
  20. Python基础:第015课——弹跳的小球(优化版),条件语句和常量

热门文章

  1. 3d虚拟现实数字化展厅给予参观者充分的交互性和空间感
  2. 在线研讨会 | 多说话人语音融合 - NVIDIA NeMo 代码解析
  3. 计算机病毒说课讲课,计算机病毒》说课稿
  4. GVS案例分享|乘新时代姑苏舫号,体验匠心智能控制
  5. 干货讲解,财务报表结构分析
  6. 解决tomcat端口一直被占用的5种方法
  7. 1583_AURIX_TC275_SMU的控制以及FSP
  8. CSS 文本超出隐藏,并显示省略号
  9. DOS命令:schtasks
  10. item_get - 获得闲鱼商品详情API