SSH免密登錄原理及實現

聲明:做者原創,轉載註明出處。

做者:帥氣陳吃蘋果html

1、SSH簡介

SSH(Secure Shell)是一種通訊加密協議,加密算法包括:RSA、DSA等。算法

  1. RSA:非對稱加密算法,其安全性基於極其困難的大整數的分解(兩個素數的乘積);
  2. DSA:也是非對稱加密算法,其安全性基於整數有限域離散對數難題;

2、SSH免密登錄原理

SSH免密登錄原理

3、SSH免密登錄

服務器環境:

機器 用戶名 密碼
master hadoop hadoop
slave1 hadoop hadoop
slave2 hadoop hadoop

一、生成密鑰

分別在master、slave一、slave2機器的用戶家目錄(/home/hadoop/)下,執行下列命令,經過RSA算法進行加密,提示輸入的話可直接回車不輸入任何內容:安全

ssh-keygen -t rsa

將會在家目錄下的隱藏目錄/.ssh下生成文件:服務器

id_rsa.pub         //公鑰    
id_rsa             //密鑰

二、追加公鑰

在master機器上,將id_rsa.pub的內容寫入authorized_keys文件中ssh

cat id_rsa.pub >> authorized_keys

三、發送其餘服務器公鑰

在slave1機器上,將id_rsa.pub複製到master機器的/.ssh目錄下,並從新命名位
id_rsa.pub.slave1oop

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

四、追加其餘服務器公鑰

在master機器上,在/.ssh目錄下將看到從slave一、slave2發送過來的文件:加密

id_rsa.pub.slave1
id_rsa.pub.slave2

將這兩個公鑰內容追加寫入到master機器/.ssh目錄下的authorized_keys中:spa

cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys

五、確認公鑰內容

在master機器上,查看authorized_keys文件內容,確認包含slave一、slave2機器的兩個公鑰內容:.net

cat authorized_keys

六、發送authorized_keys

在master機器上,將authorized_keys發送到slave一、slave2機器的/.ssh目錄下:

scp authorized_keys hadoop@slave1:/home/hadoop/.ssh/
scp authorized_keys hadoop@slave2:/home/hadoop/.ssh/

七、修改authorized_keys文件權限

分別在master、slave一、slave2機器上執行,對auhorized_keys進行權限修改,不然將沒法實現免密碼登陸:

chmod 600 authorized_keys

八、SSH登錄測試

在master機器上,從master機器經過ssh登陸到slave1,第一次須要密碼,退出後之後登陸就不須要密碼了,其餘機器相似操做:

//登錄slave1
ssh slave1

//登錄後退出
exit

//從新登錄
ssh slave1

參考連接:
http://blog.csdn.net/zwx19921...
https://www.cnblogs.com/nexiy...

最後,歡迎指正。喜歡的話,點個讚唄,請你吃蘋果。
相關文章
相關標籤/搜索