SCP 免密遠程拷貝文件


原文借鑒:https://blog.csdn.net/weixin_33758863/article/details/85146762?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

     https://www.cnblogs.com/yangxiaochu/p/6913533.html

方法一:基於公鑰和私鑰的信任辦法

  ssh-keygen -t rsa  

1、在服務器A、B中分別生成ssh-key,生成方式輸入ssh-keygen,然后連續回車

2、進入.ssh目錄,拷貝服務器B中的id_rsa.pub文件內容

3、在服務器A目錄.ssh下面新建文件authorized_keys,把服務器B中的id_rsa.pub文件內容復制進去

后續使用SCP命令遠程拷貝文件B->A,不再需要輸入密碼

方法二:sshpass

sshpass的安裝:
Ubuntu:apt-get install sshpass

centos:

下載地址:http://sourceforge.net/projects/sshpass/
wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz

yum -y install gcc
tar xvzf sshpass-1.05.tar.gz
cd sshpass-1.05.tar.gz
./configure
make
make install

sshpass -p 密碼 scp -r 1.txt root@10.1.1.1:/root 

sshpass -f 存放密碼的文件 scp -r 1.txt root@10.1.1.1:/root

 

scp基於密鑰傳輸

[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,也可以是域名)
例如:

scp -i [密鑰文件路徑] -r user@ip:要下載文件的絕對路徑  本地路徑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM