溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

scp 是我小看了你-基于密鑰傳輸!

發(fā)布時間:2020-04-03 06:32:34 來源:網(wǎng)絡(luò) 閱讀:3857 作者:任志遠(yuǎn)Ray 欄目:網(wǎng)絡(luò)安全

原因:公司用的是基于密鑰登陸,雖然有防火墻等設(shè)備,而且不允許root直接登陸和不允許密碼登陸。由于公司的網(wǎng)不好,有一次需要拷貝一次2個多G的數(shù)據(jù)到別的服務(wù)器。我當(dāng)時想的就是scp(雖然也有其它命令工具)但是,我卻忘記了現(xiàn)在不允許密碼登陸。雖然有其它方式(比如lrzsz或者winscp ftp等),但是如果先下載再上傳必然需要太多時間。畢竟走服務(wù)器的局域網(wǎng)才是最快,要是走公司,然后再上傳,那就太麻煩了。于是看看scp --help發(fā)現(xiàn)有一個-i 參數(shù)。所以是支持密鑰的方式的。仔細(xì)研究一番,確實好用,于是,自己寫了個文檔,和大家分享一下。


[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 強(qiáng)制scp 用協(xié)議1

-2 強(qiáng)制scp 用協(xié)議2

-4 強(qiáng)制scp用IPV4的網(wǎng)址

-6 強(qiáng)制scp用IPV6的網(wǎng)址

-B 選擇批處理模式(防止輸入密碼)

-C 允許壓縮。 標(biāo)注-C到ssh(1)來允許壓縮

-p指定修改次數(shù),連接次數(shù),還有對于原文件的模式

-q把進(jìn)度參數(shù)關(guān)掉

-r遞歸的復(fù)制整個文件夾

-v詳細(xì)方式顯示輸出

-c cipher:選擇cipher來加密數(shù)據(jù)傳輸。

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

-I identity_file:   選擇被RSA認(rèn)證讀取私有密碼的文件。             

-I limit:限制傳輸帶寬,也就是速度 用Kbit/s的速度                    

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

-P port:   指定ssh端口

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

user@      用戶

host1      主機(jī)(可以是ip,也可以是域名)

測試環(huán)境:

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

 

如果需重命名,可在遠(yuǎn)程主機(jī)指定位置和文件名即可

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文件目錄或者壓縮文件傳輸?shù)絥ode1。

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 是我小看了你-基于密鑰傳輸!

當(dāng)然,你也可以從node2上進(jìn)行操作。

由于上面的操作,總是需要密碼,那么接下來做一個ssh互信。

scp 是我小看了你-基于密鑰傳輸!

由于我改了默認(rèn)端口,所以先改回默認(rèn)22的端口。

scp 是我小看了你-基于密鑰傳輸!

一路回車即可!

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

scp 是我小看了你-基于密鑰傳輸!

如果需要dns,事先做好dns,或者h(yuǎn)osts,再做ssh互信。

 測試:

ssh –help

scp 是我小看了你-基于密鑰傳輸!



scp 是我小看了你-基于密鑰傳輸!

做到上面,基本的ssh已經(jīng)沒有問題了。但是,生產(chǎn)環(huán)境,用密鑰認(rèn)證的也不少,那么下面做一個基于密鑰驗證的。并且禁止root登陸和密碼登陸(操作略,過于簡單)

 scp 是我小看了你-基于密鑰傳輸!  

刪除node2的數(shù)據(jù),將node1上的數(shù)據(jù),傳輸?shù)絥ode2上。

scp 是我小看了你-基于密鑰傳輸!

由于不允許密碼登陸,和不允許root直接登陸?,F(xiàn)在是基于密鑰登陸,然后切換到root,因此,現(xiàn)在只有用密鑰的方式用scp。而且只能上傳到密鑰用戶家目錄下。除非在指定的目錄相應(yīng)用戶有權(quán)限。不過,就是一個scp而已,實現(xiàn)目的即可。

 

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 是我小看了你-基于密鑰傳輸!


一個小小的經(jīng)驗,分享給大家。希望和大家多多交流和分享。

QQ:1145507435

郵箱:renzhiyuan666666@vip.qq.com


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI