我有兩臺(tái)筆記本電腦上分別裝有兩個(gè)centos的虛擬機(jī),一個(gè)IP為172.16.1.10(slave),一個(gè)IP為172.16.1.9(master)。
在slave上用root用戶(hù) vi /etc/hosts ,在里面增加 172.16.1.9 master。
1 在slave上執(zhí)行:
ssh-keygen -t rsa或者ssh-keygen -t rsa -P ''
-P表示密碼,-P '' 就表示空密碼,也可以不用-P參數(shù),這樣就要三車(chē)回車(chē),用-P就一次回車(chē)。
它在~目錄下生成.ssh目錄,.ssh下有id_rsa和id_rsa.pub。
2 在slave上執(zhí)行scp遠(yuǎn)程拷貝命令:
scp ~/.ssh/id_rsa.pub a href="mailto:hadoop@master:~/id_rsa.pub">hadoop@master:~/id_rsa.pub/a>
由于此時(shí)還沒(méi)有設(shè)置免密碼登陸,所以此時(shí)遠(yuǎn)程拷貝需要輸入密碼。
(scp 命令格式如下:
scp local_file a href="mailto:remote_username@remote_ip:remote_file">remote_username@remote_ip:remote_file/a>)
3 在master上執(zhí)行:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
將公鑰追加到授權(quán)KEY里面。
4執(zhí)行下面的命令
chmod 600 ~/.ssh/authorized_keys
authorized_keys的權(quán)限要是600。
此時(shí) slave機(jī)就可以 ssh master 了。
小結(jié):登錄的機(jī)子可有私鑰,被登錄的機(jī)子要有登錄機(jī)子的公鑰。這個(gè)公鑰/私鑰對(duì)一般在私鑰宿主機(jī)產(chǎn)生。上面是用rsa算法的公鑰/私鑰對(duì),當(dāng)然也可以用dsa(對(duì)應(yīng)的文件是id_dsa,id_dsa.pub)
想讓A,B機(jī)無(wú)密碼互登錄,那B機(jī)以上面同樣的方式配置即可。