linux機器間建立信任關系


linux機器間建立信任關系

如何建立信任關系

在shell腳本中,需要使用scp命令將本地的文件復制到另一台機器中備份。但通常執行scp命令后都需要輸入用戶密碼,這樣在定時自動執行shell腳本中就不適用了。

在兩台機器的兩個用戶之間建立安全的信任關系后,可實現執行scp命令時不需要輸入用戶密碼。(該方法對ssh也適用)  以下將介紹如何在兩台機器間建立信任關系,為了方便說明,我們將執行scp命令的機器叫做client,scp命令操作的遠端機器叫做server。假設兩個機器的賬戶都是work(其他賬戶也行,為了討論方便假設了一個)。

1、在機器Client上work用戶執行ssh-keygen命令,生成建立安全信任關系的證書。

[work@Client work]# ssh-keygen -b 2048 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/work/.ssh/id_rsa): <– 直接輸入回車
Enter passphrase (empty for no passphrase):            <– 直接輸入回車
Enter same passphrase again:                           <– 直接輸入回車
Your identification has been saved in /work/.ssh/id_rsa.
Your public key has been saved in /work/.ssh/id_rsa.pub.
The key fingerprint is:
49:9c:8a:8f:bc:19:5e:8c:c0:10:d3:15:60:a3:32:1c root@A
[work@Server work]#

注意:在程序提示輸入passphrase時直接輸入回車,表示無證書密碼。

上述命令將生成私鑰證書id_rsa和公鑰證書id_rsa.pub,存放在用戶根目錄的.ssh子目錄中。

2、將公鑰證書id_rsa.pub復制到機器Server的work根目錄的.ssh子目錄中,同時將文件名更換為authorized_keys。

[work@Client work]# scp -p .ssh/id_rsa.pub work@192.168.3.206:/work/.ssh/authorized_keys
work@192.168.3.206′s password:          <– 輸入機器Server的work用戶密碼
id_rsa.pub           100% |**************************|   218       00:00
[work@Client work]#

執行完上面兩步后,就在機器Client的work和機器Server的work之間建立安全信任關系。下面我們看看效果:
[work@Client work]# scp -p text work@192.168.3.206:/work
text                 100% |**************************|    19       00:00  //這時不需要輸入密碼了
[work@Client work]#

 

 

同一台機器上面scp也需要設立信任關系。。。囧

已經存在的key,直接cat .ssh/id_rsa.pub >>.ssh/authorized_keys ,就搞定啦~~~

 

 

無法建立信任關系時排錯步驟

1.AB主機名是默認的Localhost,如果AB之間的主機名相同,可能會導致無法成功。要修改主機名用hostname 命令,修改/etc/sysconfig/network,then restart your server.

2.查看SSH配置文件/etc/ssh/ssh_config,找到IdentityFile所指定的文件是什么,有的不是默認的id_rsa,這里指定的文件要和第一部分生成的文件名要相同,這里是id_rsa.

3.查看B機authorized-keys的文件權限是否為600或者644 (linux文件權限詳解),如直接在server機器上vi或touch建立文件authorized_keys,可能會導致信任關系無法建立。

4.查看/var/log/secure日志,里面應該有一些蛛絲馬跡可以供你參考

 

 


免責聲明!

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



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