很多時候,我們需要在兩台linux/unix主機之間拷貝檔案(夾),但需要手動輸入密碼
例如備份服務端(sysadmin)資料庫檔案到客戶端(yanggang),提示需要輸入密碼!
sysadmin@host:~/.ssh$ scp /home/sysadmin/top800/top800_database.sql [email protected]:/home/yanggang/top800/
[email protected]'s password:
如果編寫指令碼進行資料自動備份,很顯然手動輸入密碼不靠譜
因此,我們需要尋找雙機拷貝資料時,自動輸入密碼或不需要輸入密碼的方法
於是,linux通過公鑰和金鑰,建立雙機之間信任關係,不需輸入密碼,解決了這個問題
linux/unix雙機建立信任
1 分別在服務端(sysadmin)和客戶端(yanggang),進入.ssh目錄
下面以客戶端(yanggang)為例:
cd ~/.ssh
2 執行生成金鑰命令
ssh-keygen -t rsa
3 檢視~/.ssh生成金鑰的檔案
其中,id_rsa為金鑰; id_rsa.pub為公鑰
4 客戶端(yanggang)對服務端(sysadmin)建立信任關係
scp [email protected]:/home/yanggang/.ssh/id_rsa.pub authorized_keys
[email protected]'s password:
即:把客戶端的公鑰(id_rsa.pub)拷貝到服務端(sysadmin),並修改id_rsa.pub
為 authorized_keys
此時需要輸入密碼(之前未建立信任關係),建立了客戶端到服務端的信任關係後,客戶端就可以不用再輸入密碼,就可以從服務端拷貝資料(如下步驟5)
5 服務端(sysadmin)對客戶端(yanggang)建立信任關係
scp [email protected]:/home/sysadmin/.ssh/id_rsa.pub authorized_keys
此時,已經不用資料密碼,就可以直接從服務端拷貝檔案(id_rsa.pub)
至此,服務端從客戶端拷貝資料也不用再資料密碼了(如上步驟4再拷貝,就不需再輸入密碼了)
scp [email protected]:/home/yanggang/.ssh/id_rsa.pub authorized_keys
沒有[email protected]'s password:
6 測試(備份服務端的資料庫到客戶端)
scp /home/sysadmin/top800/top800_database.sql [email protected]:/home/yanggang/top800/
雙機之間拷貝檔案,不再需要輸入密碼了
雙機信任關係已經建立!
有朋友問到多台主機,如何建立信任關係?
測試環境:
服務端: redhat server 5.2
客戶端1: ubuntu 10.10 (32bit)
客戶端2: ubuntu 11.10 (64bit)
具體步驟:
如上「雙機信任關係」類似,只需要把「步驟4」中客戶機的公鑰(id_rsa.pub)拷貝到服務端(authorized_keys)
即複製、貼上到authorized_keys檔案後面,命令如下:
echo id_rsa.pub_one >> authorized_keys (客戶機one)
echo id_rsa.pub_two >> authorized_keys (客戶機two)
其中,authorized_keys 為服務端的,格式如下:
知識拓展:
scp不需要密碼
配置主機間信任的乙個簡單辦法
Linux兩台主機之間建立信任
很多時候,我們需要在兩台linux unix主機之間拷貝檔案 夾 但需要手動輸入密碼 例如備份服務端 sysadmin 資料庫檔案到客戶端 yanggang 提示需要輸入密碼!sysadmin host ssh scp home sysadmin top800 top800 database.sql...
兩台Linux伺服器建立信任關係
如果在兩台linux伺服器之間經常需要互相訪問,但是需要經常手動輸入密碼,可以在兩台伺服器之間建立乙個信任連線,然後把鑑權檔案寫到乙個檔案裡 步驟1 先在主機a使用命令建立金鑰 步驟二 在 root ssh目錄裡面看到建立的金鑰 ls root ssh 步驟三 把id rsa.pub檔案複製到主機b...
兩台Linux機器之間配置信任關係(以及如何解除)
假設如下場景 實現主機a免密碼登入到主機b,主要步驟如下 1 在主機a中利用 ssh keygen t rsa 產生相應的私鑰和公鑰 id rsa和id rsa.pub 2 在主機a中新增自己的私鑰 ssh add id rsa 注 很多介紹中都少了第二步,所以經常出現測試時不通過的情形。ssh a...