聲明:作者原創(chuàng),轉(zhuǎn)載注明出處。歡迎指正,不接受批評。
作者:帥氣陳吃蘋果
一、SSH簡介
SSH(Secure Shell)是一種通信加密協(xié)議,加密算法包括:RSA、DSA等。
- RSA:非對稱加密算法,其安全性基于極其困難的大整數(shù)的分解(兩個素數(shù)的乘積);
- DSA:也是非對稱加密算法,其安全性基于整數(shù)有限域離散對數(shù)難題;
二、SSH免密登陸原理
三、SSH免密登陸
服務器環(huán)境:
| 機器 | 用戶名 | 密碼 |
|---|---|---|
| master | hadoop | hadoop |
| slave1 | hadoop | hadoop |
| slave2 | hadoop | hadoop |
1、生成密鑰
分別在master、slave1、slave2機器的用戶家目錄(/home/hadoop/)下,執(zhí)行下列命令,通過RSA算法進行加密,提示輸入的話可直接回車不輸入任何內(nèi)容:
ssh-keygen -t rsa
將會在家目錄下的隱藏目錄/.ssh下生成文件:
id_rsa.pub //公鑰
id_rsa //密鑰
2、追加公鑰
在master機器上,將id_rsa.pub的內(nèi)容寫入authorized_keys文件中
cat id_rsa.pub >> authorized_keys
3、發(fā)送其他服務器公鑰
在slave1機器上,將id_rsa.pub復制到master機器的/.ssh目錄下,并重新命名位
id_rsa.pub.slave1:
scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pub.slave1
在slave2機器上,將id_rsa.pub復制到master機器的/.ssh目錄下,并重新命名位id_rsa.pub.slave2 :
scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pub.slave2
4、追加其他服務器公鑰
在master機器上,在/.ssh目錄下將看到從slave1、slave2發(fā)送過來的文件:
id_rsa.pub.slave1
id_rsa.pub.slave2
將這兩個公鑰內(nèi)容追加寫入到master機器/.ssh目錄下的authorized_keys中:
cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys
5、確認公鑰內(nèi)容
在master機器上,查看authorized_keys文件內(nèi)容,確認包含slave1、slave2機器的兩個公鑰內(nèi)容:
cat authorized_keys
6、發(fā)送authorized_keys
在master機器上,將authorized_keys發(fā)送到slave1、slave2機器的/.ssh目錄下:
scp authorized_keys hadoop@slave1:/home/hadoop/.ssh/
scp authorized_keys hadoop@slave2:/home/hadoop/.ssh/
7、修改authorized_keys文件權(quán)限
分別在master、slave1、slave2機器上執(zhí)行,對auhorized_keys進行權(quán)限修改,否則將無法實現(xiàn)免密碼登錄:
chmod 600 authorized_keys
8、SSH登陸測試
在master機器上,從master機器通過ssh登錄到slave1,第一次需要密碼,退出后以后登錄就不需要密碼了,其他機器類似操作:
//登陸slave1
ssh slave1
//登陸后退出
exit
//重新登陸
ssh slave1
參考鏈接:
http://blog.csdn.net/zwx19921215/article/details/19641345
https://www.cnblogs.com/nexiyi/archive/2013/01/06/2847865.html
最后,歡迎指正。喜歡的話,點個贊唄,請你吃蘋果。