PS:偶很喜欢用scp这个命令来传输数据。scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令。scp实质相当于利用SSH协议来传输数据的cp命令。

用法举例:

1、复制远程服务器的文件到本地:
scp -P888 root@120.18.50.33:/data/ha97.zip /home/
2、复制远程服务器的目录到本地:
scp -vrp -P888 root@120.18.50.33:/data/ha97/ /home/
3、复制本地的文件到远程服务器:
scp -P888 /home/ha97.zip root@120.18.50.33:/data/
4、复制本地的目录到远程服务器:
scp -vrp -P888 /home/ root@120.18.50.33:/data/

SCP 命令语法
scp [-1245BCpqrv] [-c cipher] [F ssh_config] [-I identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:] file1 […] [[suer@]host2:]file2

SCP 命令说明
Scp在主机间复制文件。他使用 ssh(1)作为数据传输。而且用同样认证和安全性。 scp将在认证中请求输入密码所有的文件可能需要服务器和用户的特别描述来指明文件将被复制到/从某台服务器。两个远程登录的服务器间的文件复制是允许的。

SCP 命令选项
-1 强制scp 用协议1
-2 强制scp 用协议2
-4 强制scp用IPV4的网址
-6 强制scp用IPV6的网址
-B 选择批处理模式(防止输入密码)
-C 允许压缩。 标注-C到ssh(1)来允许压缩
-c cipher
选择cipher来加密数据传输。这个选项直接传递到ssh(1)
-F ssh_config
设定一个可变动的用户配置给ssh.这个选项直接会被传递到ssh(1)
-i identity_file
选择被RSA认证读取私有密码的文件。这个选项可以直接被传递到ssh(1)
-l limit
限制传输带宽,也就是速度 用Kbit/s的速度
-o ssh_option
可以把ssh_config中的配置格式传到ssh中。这种模式对于说明没有独立的scp文件中断符的scp很有帮助。关于选项的如下。而他们的值请参看ssh_config(5)
-P port
指定连接远程连接端口。注意这个选项需要写成大写的模式。因为-p已经早保留了次数和模式
-S program
指定一个加密程序。这个程序必须可读所有ssh(1)的选项。
-p 指定修改次数,连接次数,还有对于原文件的模式
-q 把进度参数关掉
-r 递归的复制整个文件夹
-S program
指定一个加密程序。这个程序必须可读所有ssh(1)的选项。
-V 冗余模式。 让 scp 和 ssh(1) 打印他们的排错信息, 这个在排错连接,认证,和配置中非常有用。

SCP 命令诊断
scp 返回0 成功时,不成功时返回值大于0

SCP 命令不需要输入用户密码的使用方法

在两台机器的两个用户之间建立安全的信任关系后,可实现执行scp命令时不需要输入用户密码。

1. 在机器A上root用户执行 ssh-keygen 命令,生成建立安全信任关系的证书。

[root@A root]# ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <– 直接输入回车
Enter passphrase (empty for no passphrase): <– 直接输入回车
Enter same passphrase again: <– 直接输入回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is: ……


注意:在程序提示输入 passphrase 时直接输入回车,表示无证书密码。
上述命令将生成私钥证书 id_rsa 和公钥证书 id_rsa.pub,存放在用户目录的 .ssh 子目录中。

2. 将公钥证书 id_rsa.pub 复制到机器B的root目录的.ssh子目录中,同时将文件名更换为authorized_keys

[root@A root]# scp -p .ssh/id_rsa.pub root@机器B的IP:/root/.ssh/authorized_keys
root@192.168.3.206’s password: <– 输入机器B的root用户密码


在执行上述命令时,两台机器的root用户之间还未建立安全信任关系,所以还需要输入机器B的root用户密码。
经过以上2步,就在机器A的root和机器B的root之间建立安全信任关系。下面我们看看效果:

[root@A root]# scp -p test root@机器B的IP地址:/root

成功了!真的不再需要输入密码了。

来源:http://www.21andy.com/blog/20100911/1943.html
本人有修改。

[转](总结)Linux/UNIX的scp命令用法详解相关推荐

  1. scp linux 命令加密码,scp命令_Linux scp 命令用法详解:加密的方式在本地主机和远程主机之间复制文件...

    scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器硬盘变为只读read onl ...

  2. Linux系统中curl命令用法详解

    在Linux系统中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款强大的http命令行工具.它支持文件的上传和下载,是综合传输工具. curl 是常用的命令行工具,用来请求 Web 服 ...

  3. Linux系统中ls命令用法详解

    linux系统中ls命令的用法 ls命令是linux下最常用的命令.ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单. 通 ...

  4. Linux系统中dd命令用法详解

    命令介绍: Linux dd 命令用于读取.转换并输出数据. dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件.设备或标准输出. 参数介绍 if 代表输入文件.如果不指定 i ...

  5. linux中scp命令用法详解

    本文主要目的是记录下自己的笔记,方便以后查阅 scp 全称:secure copy ,意思是远程拷贝,可以从远程服务器拷贝文件或者目录(拉取),也可以将本地的文件或者目录复制到远端(推送). 推送的命 ...

  6. linux系统命令pwd,linux系统下pwd命令用法详解

    linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文 ...

  7. Linux系统中rpm命令用法详解

    rpm命令来自于英文词组"RedHat Package Manager"的缩写,中文译为红帽软件包管理器,其功能是用于在Linux系统下对软件包进行安装.卸载.查询.验证.升级等工 ...

  8. 【Linux】Linux中rz和sz命令用法详解

    [Linux]Linux中rz和sz命令用法详解 1. 简单介绍 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具.优点就是不用再开一个sftp工具登录上去上传下载 ...

  9. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

最新文章

  1. ElasticSearch是什么?为什么快?倒排索引是什么?ElasticSearch的应用?
  2. tf.keras.layers.Dense() 示例
  3. 【操作系统】【C/C++开发】内存管理
  4. python批量下载网页文件-python使用selenium实现批量文件下载
  5. 泛函分析——赋范线性空间定义的概念
  6. C#的变迁史06 - C# 4.0 之并行处理篇
  7. 计算机网络TCP/IP
  8. JAVA.SQL.SQLNONTRANSIENTCONNECTIONEXCEPTION: COULD NOT CREATE CONNECTION TO DATABASE SERVER. ATTEMPT
  9. AtCoder SoundHound Inc. Programming Contest 2018 E + Graph (soundhound2018_summer_qual_e)
  10. UML和模式应用5:细化阶段(5)---系统顺序图
  11. 1.5 为什么正则化可以减少过拟合?
  12. 关于performSelector调用和直接调用区别
  13. 5G对于数据中心的影响有哪些
  14. Docker容器实现SSH连接
  15. linux设置r镜像,一劳永逸,R的个性化默认配置
  16. CodeSmith连接Mysql配置
  17. 4G多卡聚合路由器解决视频直播中的网络不稳定问题
  18. zoj 1101 Gamblers 为什么总是WA?
  19. SpringMVC入门案例【三层架构和MVC、SpringMVC的概述和入门程序】(超详细)
  20. 通俗易懂【Springboot】 单文件下载和批量下载(多个文件合成一个压缩包下载)

热门文章

  1. [architecture]-Cortex-A53的configuration signals
  2. 剖析boot.img的制作流程
  3. python2和3的区别字符编码格式上下文管理is和==的区别
  4. SegAttnGAN: Text to Image Generation with Segmentation Attention 论文解读
  5. python向图片里添加文字
  6. C++编程风格(一)
  7. Acwing第 37 场周赛【完结】
  8. 1086 Tree Traversals Again (25 分)【一般 / 建树 树的遍历】
  9. 1014 Waiting in Line (30 分) 【未完成】【难度: 难 / 知识点: 大模拟】
  10. 数据库的一些基本知识