linux 命令之 scp 安全拷贝
2014-05-14 11:54
309 查看
一.scp介绍
一般情况,本地网络跟远程网络进行数据交包,或者数据迁移,常用的有三种方法,一是ftp,二是wget /fetch 三是,rsync
大型数据迁移用rysync,其次用fetch/wget ,最次是ftp,最慢是ftp.
scp --secure copy (remote file copy program) 安全拷贝,远程文件拷贝
scp 在网络主机之间进行文件的拷贝.它使用ssh进行文件传输. 并且使用和ssh相同的认证.
scp如果需要认证,将会询问密码或者密码短语
本地文件的名字可以使用明确的绝对路径或者使用相对路径.
scp 允许在两个远程主机之间进行文件传输.
二.选项说明
-1 使用ssh1 协议
-2 强制使用ssh2 协议
-3 通过本地主机对两个远程主机进行拷贝
-4 强制scp使用IPv4地址
-6 强制scp使用IPv6地址
-B 使用分批处理模式.期间不需要使用口令
-C 支持压缩
-c cipher 使用cipher加密数据传输
-F 使用指定的ssh_config文件来配置ssh,该参数直接传递给ssh.
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-r 迭代拷贝整个文件夹
-p 保存原始文件的修改时间,访问时间和访问权限
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项
三.案例说明
说明一下,我使用的是局域网内,一个ip为:192.168.1.101,一个是192.168.1.103
操作的这台机器是第一个.
1. scp -r 192.168.1.103:/home/fengfulee/python /programming
之后会询问root密码.
解释:将103主机上/home/fengfulee/python 目录中的内容 拷贝到 101(本机)的/python目录中.
成功之后,在我本机的/programming目录中将会出现一个python目录.
2.scp fengfulee@192.168.1.103:/home/fengfulee/abc.txt /
说明:使用103主机的普通账号对内容进行拷贝到本机的/目录中
这里要注意一点,我在101 上使用的是root账户.拷贝到本机的文件所有者将会自动转为root所有.不再是远程机器上的所有者.
如果要保持一致性,可以使用-p命令.
附带说明:这里我做了一个补充.
我使用root账户在103的/home/fengfulee/ 的目录下建立了一个abcd.txt 将其权限改为644 ,
再次调用scp命令.是可以进行复制的.
但是如果我将权限改为640 发现无法复制(fenguflee这个账户不是root组的成员),
没有可读的权限.所以无法复制.这是可以理解的.该文件有可读的权限,那么就是可以远程复制的.不然将会是一个系统漏洞了吧.
3.scp dcba.txt fengfulee@192.168.1.103:/home/fengfulee
这里的dcba.txt同样使用root账户创建. 远程/home/fengfulee 目录中出现了dcba.txt文件.权限变为fengfulee.
这个也很好理解,就是本地root账户进行拥有者权限转移. 同样的,可以使用-p命令来保持文件属性的一致性.
4配置自己的103 主机的/etc/ssh/sshd_config 文件,修改Port端口号为22222
然后在101 上面使用scp
scp -P 2222 192.168.1.103:/home/fengfulee/abc.txt /
其实还有很多的内容,以后再补充吧.
一般情况,本地网络跟远程网络进行数据交包,或者数据迁移,常用的有三种方法,一是ftp,二是wget /fetch 三是,rsync
大型数据迁移用rysync,其次用fetch/wget ,最次是ftp,最慢是ftp.
scp --secure copy (remote file copy program) 安全拷贝,远程文件拷贝
scp 在网络主机之间进行文件的拷贝.它使用ssh进行文件传输. 并且使用和ssh相同的认证.
scp如果需要认证,将会询问密码或者密码短语
本地文件的名字可以使用明确的绝对路径或者使用相对路径.
scp 允许在两个远程主机之间进行文件传输.
二.选项说明
-1 使用ssh1 协议
-2 强制使用ssh2 协议
-3 通过本地主机对两个远程主机进行拷贝
-4 强制scp使用IPv4地址
-6 强制scp使用IPv6地址
-B 使用分批处理模式.期间不需要使用口令
-C 支持压缩
-c cipher 使用cipher加密数据传输
-F 使用指定的ssh_config文件来配置ssh,该参数直接传递给ssh.
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-r 迭代拷贝整个文件夹
-p 保存原始文件的修改时间,访问时间和访问权限
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项
三.案例说明
说明一下,我使用的是局域网内,一个ip为:192.168.1.101,一个是192.168.1.103
操作的这台机器是第一个.
1. scp -r 192.168.1.103:/home/fengfulee/python /programming
之后会询问root密码.
解释:将103主机上/home/fengfulee/python 目录中的内容 拷贝到 101(本机)的/python目录中.
成功之后,在我本机的/programming目录中将会出现一个python目录.
2.scp fengfulee@192.168.1.103:/home/fengfulee/abc.txt /
说明:使用103主机的普通账号对内容进行拷贝到本机的/目录中
这里要注意一点,我在101 上使用的是root账户.拷贝到本机的文件所有者将会自动转为root所有.不再是远程机器上的所有者.
如果要保持一致性,可以使用-p命令.
附带说明:这里我做了一个补充.
我使用root账户在103的/home/fengfulee/ 的目录下建立了一个abcd.txt 将其权限改为644 ,
再次调用scp命令.是可以进行复制的.
但是如果我将权限改为640 发现无法复制(fenguflee这个账户不是root组的成员),
没有可读的权限.所以无法复制.这是可以理解的.该文件有可读的权限,那么就是可以远程复制的.不然将会是一个系统漏洞了吧.
3.scp dcba.txt fengfulee@192.168.1.103:/home/fengfulee
这里的dcba.txt同样使用root账户创建. 远程/home/fengfulee 目录中出现了dcba.txt文件.权限变为fengfulee.
这个也很好理解,就是本地root账户进行拥有者权限转移. 同样的,可以使用-p命令来保持文件属性的一致性.
4配置自己的103 主机的/etc/ssh/sshd_config 文件,修改Port端口号为22222
然后在101 上面使用scp
scp -P 2222 192.168.1.103:/home/fengfulee/abc.txt /
其实还有很多的内容,以后再补充吧.
相关文章推荐
- linux命令之----scp用于跨系统安全的远程文件拷贝命令
- linux远程拷贝下载文件 - ftp命令和scp命令
- linux scp(安全复制) 命令
- 【Unix/Linux】【命令】【网络操作工具】远程拷贝文件 —— scp命令
- linux scp命令参数及用法详解--linux远程复制拷贝命令使用实例【转】
- Linux命令-安全复制命令:scp
- linux下scp命令详解--主机之间拷贝文件
- linux使用scp命令备份文件 scp拷贝文件
- linux系统 两者之间拷贝数据文件 scp命令
- linux拷贝命令之高级拷贝scp命令详解
- linux远程拷贝命令-scp
- linux远程拷贝或下载文件使用-ftp命令和scp命令详解
- linux下scp命令(远程文件拷贝)详解
- linux下scp命令详解--主机之间拷贝文件
- scp - Linux Server 安全传输命令
- Linux远程拷贝之ftp与scp命令
- 【转】linux下scp命令详解--主机之间拷贝文件
- Linux下SCP命令在服务器之间拷贝文件的命令用法
- Linux 命令 - scp: 远程文件拷贝
- linux命令之cp/scp 远程拷贝