Linux 配置雙機SSH信任

一、實現原理

使用一種被稱爲"公私鑰"認證的方式來進行ssh登錄。"公私鑰"認證方式簡單的解釋是:

首先在客戶端上創建一對公私鑰(公鑰文件:~/.ssh/id_rsa.pub;私鑰文件:~/.ssh/id_rsa),然後把公鑰放到服務器上(~/.ssh/authorized_keys),自己保留好私鑰。當ssh登錄時,ssh程序會發送私鑰去和服務器上的公鑰做匹配。如果匹配成功就可以登錄了。

二、實驗環境

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文件中,一行表示一條;

五、遠程執行命令

命令格式:ssh 遠程用戶名@遠程主機IP地址 '遠程命令或者腳本'

# ssh [email protected] 'hostname'

上述命令執行後,終端輸出的是對端主機的主機名,而不是當前登錄的主機的主機名。說明 hostname 這個命令其實是在對端主機上運行的。

雙機信任關係已經建立!

 

 

轉載https://www.cnblogs.com/mchina/archive/2013/03/15/2956017.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章