Linux配置雙機SSH信任
一、實現原理
使用一種被稱為"公私鑰"認證的方式來進行ssh登錄。"公私鑰"認證方式簡單的解釋是:
首先在客戶端上創建一對公私鑰(公鑰文件:~/.ssh/id_rsa.pub;私鑰文件:~/.ssh/id_rsa),然後把公鑰放到服務器上(~/.ssh/authorized_keys),自己保留好私鑰。當ssh登錄時,ssh程序會發送私鑰去和服務器上的公鑰做匹配。如果匹配成功就可以登錄了。 www.2cto.com
二、實驗環境
A機:TS-DEV/10.0.0.163
B機:CS-DEV/10.0.0.188
三、Linux/Unix雙機建立信任
3.1 在A機生成證書
在A機root用戶下執行ssh-keygen命令,在需要輸入的地方,直接回車,生成建立安全信任關系的證書。
# ssh-keygen -t rsa
注意:在程序提示輸入passphrase時直接輸入回車,表示無證書密碼。
上述命令將生成私鑰證書id_rsa和公鑰證書id_rsa.pub,存放在用戶家目錄的.ssh子目錄中。
3.2 查看~/.ssh生成密鑰的文件
# cd ~/.ssh
# ll
3.3 A對B建立信任關系
將公鑰證書id_rsa.pub復制到機器B的root家目錄的.ssh子目錄中,同時將文件名更換為authorized_keys,此時需要輸入B機的root用戶密碼(還未建立信任關系)。建立了客戶端到服務器端的信任關系後,客戶端就可以不用再輸入密碼,就可以從服務器端拷貝數據了。
# scp -r id_rsa.pub 10.0.0.188:/root/.ssh/authorized_keys
3.4 B對A建立信任關系
在B機上執行同樣的操作,建立B對A的信任關系。
# ssh-keygen -t rsa
# cd ~/.ssh/
# ll
# scp -r id_rsa.pub 10.0.0.163:/root/.ssh/authorized_keys
四、測試
在A機上:
# scp -r 10201_database_linux_x86_64.cpio 10.0.0.188:/tmp/david/
在B機上:
雙機信任關系已經建立!
注:如果想讓B,C同時可以scp不輸入密碼,傳輸A中的數據;
則要把B、C的公鑰都給 A;
操作步驟:把兩機器的id_rsa.pub中的數據都拷貝到A的/root/.ssh/authorized_keys文件中,一行表示一條;