unix設置master和slaver之間無密碼訪問 ssh

3臺機器系統都爲asiaunx :

master(192.168.0.210)

slave1(192.168.0.211)

slave2(192.168.0.212)

1、分別設置master/slaver1/slaver2的主機名,即修改/etc/sysconfig/network,添加以下內容:

HOSTNAME=<hostname>

其中<hostname>在各臺機器上分別設爲master/slaver1/slaver2

2.在master/slaver1/slaver2上修改/etc/hosts,添加以下內容:

192.168.0.210  master
192.168.0.211  slaver1
192.168.0.212  slaver2

3.用root登陸,建立hadoop用戶
useradd hadoop
passwd hadoop
輸入 123456做爲密碼

4.設置master和各slaver之間無密碼訪問ssh:

先分別在各臺機器上執行如下命令:
  su - hadoop       #進入hadoop用戶目錄
  ssh-keygen -t rsa #建立ssh目錄,敲回車到底,這樣會創建.ssh目錄,在該目錄下會創建兩個文件:id_rsa和id_rsa.pub,即公鑰和私鑰文件。
  cd .ssh

然後在master上執行如下指令:
  scp -r id_rsa.pub hadoop@slave1:/home/hadoop/.ssh/authorized_keys_m    #將master上的密鑰傳到slave1的hadoop用戶下,重命名爲authorized_keys_m
  scp -r id_rsa.pub hadoop@slave2:/home/hadoop/.ssh/authorized_keys_m    #將master上的密鑰傳到slave2的hadoop用戶下,重命名爲authorized_keys_m

用hadoop用戶進入slave1,執行如下指令
  scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s1 #將slave1上的密鑰傳到master的hadoop用戶下

用hadoop用戶進入slave2,執行如下指令
  scp -r id_rsa.pub hadoop@master:/home/hadoop/.ssh/authorized_keys_s2   #將slave2上的密鑰傳到master的hadoop用戶下

在maste上執行以下操作:
  cat id_rsa.pub >> authorized_keys          #將本地密鑰添加authorized_keys
  cat authorized_keys_s1 >> authorized_keys  #將slaver1的公鑰添加authorized_keys
  cat authorized_keys_s2>> authorized_keys   #將slaver2的公鑰添加authorized_keys

在slaver1上執行以下操作:
  cat id_rsa.pub >> authorized_keys          #將本地密鑰添加authorized_keys
  cat authorized_keys_m >> authorized_keys  #將master的公鑰添加authorized_keys

在slaver2上執行以下操作:
  cat id_rsa.pub >> authorized_keys          #將本地密鑰添加authorized_keys
  cat authorized_keys_m >> authorized_keys   #將master的公鑰添加authorized_keys

 

master和slaver1 slaver2下執行:

chmod go-rwx authorized_keys

這樣主節點和從節點之間就可以不用密碼直接ssh訪問

發佈了91 篇原創文章 · 獲贊 9 · 訪問量 90萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章