最近在研究一款文件系統(tǒng),需要遠(yuǎn)程給客戶機(jī)安裝軟件,且需要無(wú)SSH密碼訪問(wèn),另外需要遠(yuǎn)程給客戶機(jī)傳文件,每次輸入root密碼很不方便,就想到用ssh key生成公鑰、私鑰來(lái)驗(yàn)證,而避免每次就必須輸入root密碼。
服務(wù)器架構(gòu):
系統(tǒng):CentOS 6.5 x64
主控端A:192.168.0.150
遠(yuǎn)端主機(jī)B:192.168.0.151
原理:
利用ssh key生成公鑰、私鑰,密鑰相當(dāng)于一把鑰匙,而公鑰就相當(dāng)于一把門(mén)鎖,我們當(dāng)然是拿著鑰匙去開(kāi)鎖,同樣的道理,我們密鑰放在本地服務(wù)器,也就是服務(wù)器A,把公鑰放在遠(yuǎn)程服務(wù)器,也就是遠(yuǎn)端主機(jī)B,那么我們就可以從主控端A ssh免密碼登陸到遠(yuǎn)端主機(jī)B了。
步驟:
1、在主控端A主機(jī)上生成無(wú)SSH密碼訪問(wèn)的公鑰和私鑰文件
[root@localhost ~]# ssh-keygen -t rsa

注:執(zhí)行命令中,連續(xù)按三次回車即可生成。
2、從主控端上傳公鑰到遠(yuǎn)端主機(jī)B上
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.151

中間需要輸入一次遠(yuǎn)端主機(jī)B的root密碼
3、在主控端測(cè)試無(wú)密碼SSH遠(yuǎn)程遠(yuǎn)端主機(jī)B
[root@localhost ~]# ssh root@192.168.0.151

可以看到已經(jīng)不輸主機(jī)B的root密碼,即可從A SSH遠(yuǎn)程到B了。