Linux下用SCP無需輸入密碼傳輸文件


在Linux環境下,兩台主機之間傳輸文件一般使用scp命令,通常用scp命令通過ssh獲取對方linux主機文件的時候都需要輸入密碼確認。

不過通過建立信任關系,可以實現不輸入密碼。

這里假設A的IP:192.168.10.1

B的IP:192.168.10.2

需要從A免密碼輸入復制文件至B。

1. 在主機A上執行如下命令來生成配對密鑰: 
ssh-keygen -t rsa 
按照提示操作,注意,不要輸入passphrase。提示信息如下 
Generating public/private rsa key pair. 
Enter file in which to save the key (/root/.ssh/id_rsa):  
Enter passphrase (empty for no passphrase):  
Enter same passphrase again:  
Your identification has been saved in /root/.ssh/id_rsa. 
Your public key has been saved in /root/.ssh/id_rsa.pub. 
The key fingerprint is: 
ff:8e:85:68:85:94:7c:2c:46:b1:e5:2d:41:5c:e8:9b  root@localhost.domain 
2. 將 .ssh 目錄中的 id_rsa.pub 文件復制到 主機B 的 ~/.ssh/ 目錄中,並改名為  authorized_keys。 
scp .ssh/id_rsa.pub 192.168.10.2:/root/.ssh/authorized_keys 

以后從A主機scp到B主機就不需要密碼了。
3.使用此方法需要注意:復制的兩台計算機需要用相同的賬戶名,這里都是用的root。為了安全起見,需要在兩台機器中創建相同的賬號,然后在A上用su命令切換至賬號下,執行第1步,第二步中復制文件時可能.ssh目錄並不存在,需要手動創建。

在第2步中如果機器中已經存在authorized_keys文件,則需注意,這個文件可以包含多個SSH驗證信息,這時可用 cat >>命令將驗證文件內容附加上去。

比如復制到scp .ssh/id_rsa.pub 192.168.10.2:/root/.ssh/a.pub

然后執行cat ~/.ssh/a.pub >> ~/.ssh/authorized_keys

 


免責聲明!

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



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