最近在研究一款文件系統(tǒng),需要遠(yuǎn)程給客戶機安裝軟件,且需要無SSH密碼訪問,另外需要遠(yuǎn)程給客戶機傳文件,每次輸入root密碼很不方便,就想到用ssh key生成公鑰、私鑰來驗證,而避免每次就必須輸入root密碼。
服務(wù)器架構(gòu):
系統(tǒng):CentOS 6.5 x64
主控端A:192.168.0.150
遠(yuǎn)端主機B:192.168.0.151
原理:
利用ssh key生成公鑰、私鑰,密鑰相當(dāng)于一把鑰匙,而公鑰就相當(dāng)于一把門鎖,我們當(dāng)然是拿著鑰匙去開鎖,同樣的道理,我們密鑰放在本地服務(wù)器,也就是服務(wù)器A,把公鑰放在遠(yuǎn)程服務(wù)器,也就是遠(yuǎn)端主機B,那么我們就可以從主控端A ssh免密碼登陸到遠(yuǎn)端主機B了。
步驟:
1、在主控端A主機上生成無SSH密碼訪問的公鑰和私鑰文件
[root@localhost ~]# ssh-keygen -t rsa
注:執(zhí)行命令中,連續(xù)按三次回車即可生成。
2、從主控端上傳公鑰到遠(yuǎn)端主機B上
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.151
中間需要輸入一次遠(yuǎn)端主機B的root密碼
3、在主控端測試無密碼SSH遠(yuǎn)程遠(yuǎn)端主機B
[root@localhost ~]# ssh root@192.168.0.151
可以看到已經(jīng)不輸主機B的root密碼,即可從A SSH遠(yuǎn)程到B了。