Linux下,要想使用scp在兩台服務器之間拷貝文件,如果兩台服務器之間沒有建立信任關系,則使用scp命令時系統會要求填寫服務器的密碼,如果想不輸入密碼完成服務器之間的文件拷貝,則建立服務器之間的互信關系是不錯的選擇。
簡單的來說,兩台服務器之間的互信關系,就是通過公鑰私鑰來進行標識的。
假設:有兩台Linux服務器172.22.5.01 和 172.22.5.02,如果你想在172.22.5.01服務器復制172.22.5.02上面的文件(前提兩個服務器之間網絡聯通)。
當你使用復制命令:scp root@172.22.5.02:/data/temp.txt /data 時,系統會提示你輸入172.22.5.02的密碼才能進行復制操作。
接下來通過命令對兩台服務器建立互信關系,在172.22.5.01操作步驟如下:
1、在172.22.5.01服務器生成認證RSA密鑰:
命令:ssh-keygen -b 1024 -t rsa
中間過程直接回車。最后會在/root/.ssh/目錄下,生成了兩個文件:
id_rsa(私鑰文件放在本地) 和 id_rsa.pub(公鑰文件放在172.22.5.02服務器)
2、 將公鑰文件id_rsa.pub拷貝172.22.5.02服務器上:
scp /root/.ssh/id_rsa.pub root@172.22.5.02:/root/.ssh
3、 登錄172.22.5.02服務器
到/root/.ssh目錄下並執行 cat id_rsa.pub >> ~/.ssh/authorized_keys
這樣就完成兩台服務器之間互信關系的建立,這樣你想在172.22.5.01服務器復制172.22.5.02上面的文件就不需要輸入密碼了。