您好,登錄后才能下訂單哦!
原因:公司用的是基于密鑰登陸,雖然有防火墻等設備,而且不允許root直接登陸和不允許密碼登陸。由于公司的網不好,有一次需要拷貝一次2個多G的數據到別的服務器。我當時想的就是scp(雖然也有其它命令工具)但是,我卻忘記了現在不允許密碼登陸。雖然有其它方式(比如lrzsz或者winscp ftp等),但是如果先下載再上傳必然需要太多時間。畢竟走服務器的局域網才是最快,要是走公司,然后再上傳,那就太麻煩了。于是看看scp --help發現有一個-i 參數。所以是支持密鑰的方式的。仔細研究一番,確實好用,于是,自己寫了個文檔,和大家分享一下。
[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
注意:如果不加-r,會報錯
/usr/local/tomcat: not aregular file
如果需重命名,可在遠程主機指定位置和文件名即可
scp -P 21386 -r/usr/local/tomcat/ root@192.168.1.221:/root/tomcat1
上傳壓縮文件到node2
scp -P 21386 -r /usr/local//root@192.168.1.221:/root
將node2文件目錄或者壓縮文件傳輸到node1。
scp -P 21386 -rroot@192.168.1.221:/root/tomcat /root
scp -P 21386 -rroot@192.168.1.221:/root/mysql.tar.gz /root
當然,你也可以從node2上進行操作。
由于上面的操作,總是需要密碼,那么接下來做一個ssh互信。
由于我改了默認端口,所以先改回默認22的端口。
一路回車即可!
ssh-copy-id -i.ssh/id_rsa.pub root@192.168.1.221
如果需要dns,事先做好dns,或者hosts,再做ssh互信。
測試:
ssh –help
做到上面,基本的ssh已經沒有問題了。但是,生產環境,用密鑰認證的也不少,那么下面做一個基于密鑰驗證的。并且禁止root登陸和密碼登陸(操作略,過于簡單)
刪除node2的數據,將node1上的數據,傳輸到node2上。
由于不允許密碼登陸,和不允許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
注意:回車提示輸入密碼。
一個小小的經驗,分享給大家。希望和大家多多交流和分享。
QQ:1145507435
郵箱:renzhiyuan666666@vip.qq.com
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。