hadoop2.5.2 配置免密碼登陸

配置免登陸安全

Ø建立或者修改密鑰目錄權限服務器

假設本機的IP爲「192.168.1.100」,配置免登陸的操做步驟以下:  ssh

1. 以hadoop用戶登陸各服務器。  oop

2. 執行如下命令,修改「.ssh 目錄」權限。   spa

    chmod 755 ~/.ssh   rest

說明:若是「.ssh」目錄不存在,請在/home/hadoop目錄執行 mkdir ~/.ssh 命令建立。hadoop


 


a)若「.ssh目錄」不存在,建立」.ssh目錄」。it

mkdir ~/.ssh io

 

b)修改「.ssh 目錄」權限。   ast

   chmod 755 ~/.ssh   


 

Ø 建立公鑰和私鑰(此操做在全部服務器完成後再進入下一步)

1. 以hadoop用戶登陸本機(假設本機的IP爲「192.168.1.100」)。  

2. 執行如下命令,進入「.ssh」目錄。   

 cd /home/hadoop/.ssh  

3. 執行如下命令後,若是提示,就一直按「Enter」鍵,直至生成公鑰。   

ssh-keygen -t rsa  

 

若是建立公鑰和私鑰後(上圖最下面部分),提示的用戶名hadoop@後面不是本機別名(上圖紅色部分:如master),說明主機名稱須要從新配置一次,而後記得重啓,而後刪除/.ssh目錄下的公鑰和私鑰,從新生成,直到生成的密鑰後綴是本機別名。


接着在Master節點上作以下配置,把id_rsa.pub追加到受權的key裏面去。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

 在驗證前,須要作兩件事兒。第一件事兒是修改文件"authorized_keys"權限(權限的設置很是重要,由於不安全的設置安全設置,會讓你不能使用RSA功能),另外一件事兒是用root用戶設置"/etc/ssh/sshd_config"的內容。使其無密碼登陸有效。

  1)修改文件"authorized_keys" 

chmod 600 ~/.ssh/authorized_keys

 

2)設置SSH配置 

用root用戶登陸服務器修改SSH配置文件"/etc/ssh/sshd_config"的下列內容。

vi  /etc/ssh/sshd_config

 

RSAAuthentication yes # 啓用 RSA 認證

PubkeyAuthentication yes # 啓用公鑰私鑰配對認證方式

AuthorizedKeysFile .ssh/authorized_keys # 公鑰文件路徑(和上面生成的文件同)

 

設置完以後記得重啓SSH服務,才能使剛纔設置有效。

service sshd restart

 

退出root登陸,使用hadoop普通用戶驗證是否成功。

ssh localhost (主機名)   [黃色部分爲變量]

 


從上圖中得知無密碼登陸本級已經設置完畢,接下來的事兒是把公鑰複製全部的Slave機器上。

Ø  (3)拷貝公鑰到服務器(要登陸上去的那臺服務器slave)


使用下面的命令格式進行復制公鑰:

scp ~/.ssh/id_rsa.pub 遠程用戶名@遠程服務器IP:~/

例如:

scp ~/.ssh/id_rsa.pub hadoop@192.168.1.101:~/

上面的命令是複製文件"id_rsa.pub"到服務器IP爲"192.168.1.101"的用戶爲"hadoop"的"/home/hadoop/"下面。

下面就針對IP爲"192.168.1.101"的Slave01.Hadoop的節點進行配置。

1)把Master.Hadoop上的公鑰複製到Slave1.Hadoop上

 

從上圖中咱們得知,已經把文件"id_rsa.pub"傳過去了,由於並無創建起無密碼鏈接,因此在鏈接時,仍然要提示輸入輸入Slave01.Hadoop服務器用戶hadoop的密碼。爲了確保確實已經把文件傳過去了,用SecureCRT登陸Slave1.Hadoop:192.168.1.101服務器,查看"/home/hadoop/"下是否存在這個文件。

 

從上面得知咱們已經成功把公鑰複製過去了。

Ø追加到受權文件"authorized_keys" [注意順序]

1)把Master.Hadoop的公鑰追加到Slave1.Hadoop的受權文件"authorized_keys"中去。使用下面命令進行追加並修改"authorized_keys"文件權限:


cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys


 

2) 用root用戶修改"/etc/ssh/sshd_config"

  具體步驟參考前面Master.Hadoop的"設置SSH配置",具體分爲兩步:第1是修改配置文件;第2是重啓SSH服務。[同理2)設置SSH配置 ]

3) 用Master.Hadoop使用SSH無密碼登陸Slave01.Hadoop 

  當前面的步驟設置完畢,就可使用下面命令格式進行SSH無密碼登陸了。

ssh slave01[遠程服務器IP]

 

 

從上圖咱們主要3個地方,第1個就是SSH無密碼登陸命令,第二、3個就是登陸先後"@"後面的機器名變了,由"master"變爲了"slave01",這就說明咱們已經成功實現了SSH無密碼登陸了。

最後記得把"/home/hadoop/"目錄下的"id_rsa.pub"文件刪除掉。

rm –r ~/id_rsa.pub

 

到此爲止,已經實現了從"master.Hadoop"到"slave01.Hadoop"SSH無密碼登陸,下面就是重複上面的步驟把剩餘的兩臺(slave02.Hadoop和slave03.Hadoop)Slave服務器進行配置。這樣,咱們就完成了"配置Master無密碼登陸全部的Slave服務器"。


Ø 配置全部Slave無密碼登陸Master

  和master無密碼登陸全部slave原理同樣,就是把slave的公鑰追加到master的".ssh"文件夾下的"authorized_keys"中,記得是追加(>>)。

  爲了說明狀況,咱們如今就以"slave01.Hadoop"無密碼登陸"master.Hadoop"爲例,進行一遍操做,也算是鞏固一下前面所學知識,剩餘的"Slave2.Hadoop"和"Slave3.Hadoop"就按照這個示例進行就能夠了。

  首先建立"slave01.Hadoop"本身的公鑰和私鑰,並把本身的公鑰追加到"authorized_keys"文件中。用到的命令以下:

ssh-keygen -t rsa  

 

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

同理

相關文章
相關標籤/搜索