天天看點

Hadoop中的ssh無秘鑰登入配置

ssh無秘鑰登入配置

對于需要遠端管理其它機器,一般使用遠端桌面或者telnet。linux一般隻能是telnet。但是telnet的缺點是通信不加密,存在不安全因素,隻适合内網通路。為解決這個問題,推出了通信加密通信協定,即SSH(Secure Shell)。使用非對稱加密方式,傳輸内容使用rsa或者dsa加密,可以避免網絡竊聽。hadoop的程序之間同信使用ssh方式,需要每次都要輸入密碼。為了實作自動化操作,需要配置ssh免密碼登陸方式。

1)配置ssh

(1)基本文法

ssh 另一台電腦的ip位址

(2)ssh連接配接時出現Host key verification failed的解決方法

[[email protected] opt] $ ssh 
The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
RSA key fingerprint is cf:e:de:d7:d0:c:d:::b4:fd:ae:b1:d:ad:
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.
           

(3)解決方案如下:直接輸入yes

2)無密鑰配置

(1)免密登入原理

Hadoop中的ssh無秘鑰登入配置

(2)生成公鑰和私鑰:

[admin@hadoop102 .ssh]$ ssh-keygen -t rsa 
           

然後敲(三個回車),就會生成兩個檔案id_rsa(私鑰)、id_rsa.pub(公鑰)

(3)将公鑰拷貝到要免密登入的目标機器上

[admin@hadoop102 .ssh]$ ssh-copy-id hadoop103
[admin@hadoop102 .ssh]$ ssh-copy-id hadoop104
           

3).ssh檔案夾下(~/.ssh)的檔案功能解釋

(1)known_hosts :記錄ssh通路過計算機的公鑰(public key)

(2)id_rsa :生成的私鑰

(3)id_rsa.pub :生成的公鑰

(4)authorized_keys :存放授權過得無密登入伺服器公鑰

配置ssh免密碼登入(三個節點hadoop102、hadoop103、hadoop104)

主節點配置:

1.首先到使用者主目錄(cd ~),ls -a檢視檔案,其中一個為“.ssh”,該檔案價是存放密鑰的。待會我們生成的密鑰都會放到這個檔案夾中。

2.現在執行指令生成密鑰: ssh-keygen -t rsa -P “” (使用rsa加密方式生成密鑰)回車後,會提示三次輸入資訊,我們直接回車即可。

3.進入檔案夾cd .ssh (進入檔案夾後可以執行ls -a 檢視檔案)

4.将生成的公鑰id_rsa.pub 内容追加到authorized_keys(執行指令:cat id_rsa.pub >> authorized_keys)

從節點配置:

1.以同樣的方式生成秘鑰(ssh-keygen -t rsa -P “” ),然後hadoop103和hadoop104将生成的id_rsa.pub公鑰追加到hadoop102的authorized_keys中)

2.在hadoop103中執行指令:

scp id_rsa.pub hadoop102:/root/.ssh/id_rsa.pub.hadoop103

,在hadoop104中執行指令:

scp id_rsa.pub hadoop102:/root/.ssh/id_rsa.pub.hadoop104

3.進入hadoop102執行指令:

cat id_rsa.pub.hadoop103 >> authorized_keys cat id_rsa.pub.hadoop103 >> authorized_keys

4.最後将生成的包含三個節點的秘鑰的authorized_keys 複制到hadoop103和hadoop104的.ssh目錄下(

scp authorized_keys hadoop103:/root/.ssh/
 scp authorized_keys hadoop104:/root/.ssh/
           

驗證ssh免密碼登入

1.輸入指令ssh localhost(主機名) 根據提示輸入“yes”

2.輸入指令exit登出(Logout)

3.再次輸入指令ssh localhost即可直接登入

繼續閱讀