scp是我小看了你-基于密钥传输!-创新互联

原因:公司用的是基于密钥登陆,虽然有防火墙等设备,而且不允许root直接登陆和不允许密码登陆。由于公司的网不好,有一次需要拷贝一次2个多G的数据到别的服务器。我当时想的就是scp(虽然也有其它命令工具)但是,我却忘记了现在不允许密码登陆。虽然有其它方式(比如lrzsz或者winscp ftp等),但是如果先下载再上传必然需要太多时间。毕竟走服务器的局域网才是最快,要是走公司,然后再上传,那就太麻烦了。于是看看scp --help发现有一个-i 参数。所以是支持密钥的方式的。仔细研究一番,确实好用,于是,自己写了个文档,和大家分享一下。

10年积累的成都网站设计、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有泗阳免费网站建设让你可以放心的选择与我们合作。

[root@node1 ~]# scp --help

usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-iidentity_file]

          [-l limit] [-ossh_option] [-P port] [-S program]

          [[user@]host1:]file1 ... [[user@]host2:]file2

[root@node1 ~]#

语法详解:

-1246BCpqrv:

 -1 强制scp 用协议1

-2 强制scp 用协议2

-4 强制scp用IPV4的网址

-6 强制scp用IPV6的网址

-B 选择批处理模式(防止输入密码)

-C 允许压缩。 标注-C到ssh(1)来允许压缩

-p指定修改次数,连接次数,还有对于原文件的模式

-q把进度参数关掉

-r递归的复制整个文件夹

-v详细方式显示输出

-c cipher:选择cipher来加密数据传输。

-F ssh_config: 指定ssh的配置文件

-I identity_file:  选择被RSA认证读取私有密码的文件。

-I limit:限制传输带宽,也就是速度 用Kbit/s的速度

-o ssh_option:可以把ssh_config中的配置格式传到ssh中。

-P port:  指定ssh端口

-S program:指定一个加密程序。

user@     用户

host1     主机(可以是ip,也可以是域名)

测试环境:

node1:192.168.1.220  centos6.6mini

node2:192.168.1.221  centos6.6mini

node1:

  上传文件夹到node2;

scp -P 21386 -r/usr/local/tomcat/ root@192.168.1.221:/root

scp 是我小看了你-基于密钥传输!

注意:如果不加-r,会报错

/usr/local/tomcat: not aregular file

如果需重命名,可在远程主机指定位置和文件名即可

scp -P 21386 -r/usr/local/tomcat/ root@192.168.1.221:/root/tomcat1

scp 是我小看了你-基于密钥传输!

scp 是我小看了你-基于密钥传输!

上传压缩文件到node2

scp 是我小看了你-基于密钥传输!

scp -P 21386 -r /usr/local//root@192.168.1.221:/root

scp 是我小看了你-基于密钥传输!scp 是我小看了你-基于密钥传输!

将node2文件目录或者压缩文件传输到node1。

scp -P 21386 -rroot@192.168.1.221:/root/tomcat /root

scp 是我小看了你-基于密钥传输!scp -P 21386 -rroot@192.168.1.221:/root/mysql.tar.gz /root

scp 是我小看了你-基于密钥传输!

当然,你也可以从node2上进行操作。

由于上面的操作,总是需要密码,那么接下来做一个ssh互信。

scp 是我小看了你-基于密钥传输!

由于我改了默认端口,所以先改回默认22的端口。

scp 是我小看了你-基于密钥传输!

一路回车即可!

ssh-copy-id -i.ssh/id_rsa.pub root@192.168.1.221

scp 是我小看了你-基于密钥传输!

如果需要dns,事先做好dns,或者hosts,再做ssh互信。

 测试:

ssh –help

scp 是我小看了你-基于密钥传输!

scp 是我小看了你-基于密钥传输!

做到上面,基本的ssh已经没有问题了。但是,生产环境,用密钥认证的也不少,那么下面做一个基于密钥验证的。并且禁止root登陆和密码登陆(操作略,过于简单)

 scp 是我小看了你-基于密钥传输!

删除node2的数据,将node1上的数据,传输到node2上。

scp 是我小看了你-基于密钥传输!

由于不允许密码登陆,和不允许root直接登陆。现在是基于密钥登陆,然后切换到root,因此,现在只有用密钥的方式用scp。而且只能上传到密钥用户家目录下。除非在指定的目录相应用户有权限。不过,就是一个scp而已,实现目的即可。

scp -i Identity -P21386mysql.tar.gz node2@192.168.1.221:/home/node2

scp -i Identity -P21386 -r tomcat2/ node2@192.168.1.221:/home/node2

scp -i Identity -P21386 -r tomcat node2@192.168.1.221:/home/node2

注意:回车提示输入密码。

scp 是我小看了你-基于密钥传输!

一个小小的经验,分享给大家。希望和大家多多交流和分享。

QQ:1145507435

邮箱:renzhiyuan666666@vip.qq.com

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:scp是我小看了你-基于密钥传输!-创新互联
网址分享:http://pwwzsj.com/article/eceep.html