Linux基礎 - scp免密碼登陸進行遠程文件同步


在工作中經常有遇到需要腳本自動化同步文件的地方,比如數據庫異地備份。假設有兩台機子A(192.168.16.218)和B(192.168.16.117),需要能夠讓A免密碼連接B。

先來看看正常的ssh連接登陸時怎么樣子的。

當第一次連接時會提示認證不能通過,是否繼續,只需要按yes繼續即可。

輸入yes之后會繼續警告將192.168.16.116永久添加到known hosts,忽略繼續。

輸入密碼登陸成功

假設要將A主機(192.168.16.218)root用戶home目錄下的database_backup_20161208_235618.sql數據庫備份文件同步到B主機(192.168.16.117),手動的方式為

root@kali:~# scp db_backup.sql root@192.168.16.117:~/backup/

輸入密碼后同步成功。
但是在生產環境中這樣手動肯定是不行的,這個時候就需要我們好好運用科技的力量了,畢竟科技是第一生產力嘛~

STEP 1

生成公鑰私鑰對

root@kali:~# ssh-keygen -t rsa   

這里記得加上-t rsa參數,意思是生成rsa類型的公鑰秘鑰對,親測不加上的話不行~

按默認的連續三次確認即可

可以看到~/.ssh/目錄下多了兩個文件id_rsaid_rsa.pub,分別是私鑰和公鑰,這里我們只需要公鑰即可。

STEP2

先把公鑰id_rsa.pub傳到B主機(192.168.16.117)上

root@kali:~# scp id_rsa.pub root@192.168.16.117:~/.ssh/id_rsa.pub_temp  這里記得重命名一下,以免覆蓋B主機原有的公鑰

STEP3

將id_rsa公鑰的內容添加到.ssh目錄下的authorized_keys文件,記得以追加的方式添加,以免將別的公鑰覆蓋,若文件不存在則新建。

登陸到192.168.16.117上進行操作:

root@kali:~# cat id_rsa.pub_temp >> authorized_keys

STEP4

測試登陸

DONE!

與rcp類似的工具還有rsync,用法也類似,感興趣的同學可以自己查查看:)


免責聲明!

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



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