1. 程式人生 > >hadoop設定ssh免密碼登入

hadoop設定ssh免密碼登入

轉載:http://blog.csdn.net/zwx19921215/article/details/19641345

對於需要遠端管理其它機器,一般使用遠端桌面或者telnet。linux一般只能是telnet。但是telnet的缺點是通訊不加密,存在不安全因素,只適合內網訪問。為

解決這個問題,推出了通訊加密通訊協議,即SSH(Secure Shell)。使用非對稱加密方式,傳輸內容使用rsa或者dsa加密,可以避免網路竊聽。

Hadoop的程序之間同信使用ssh方式,需要每次都要輸入密碼。為了實現自動化操作,需要配置ssh免密碼登陸方式。

主節點配置:

  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 "" ),然後s1和s2將生成的id_rsa.pub公鑰追加到m1的authorized_keys中)
  2. 在s1中執行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s1 ,
    在s2中執行命令scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s2
  3. 進入m1執行命令:cat id_rsa.pub.s1 >> authorized_keys ,cat id_rsa.pub.s1 >> authorized_keys 
  4. 最後將生成的包含三個節點的祕鑰的authorized_keys 複製到s1和s2的.ssh目錄下( scp authorized_keys s1:/root/.ssh/, scp authorized_keys s2:/root/.ssh/)
  1. 輸入命令ssh  localhost(主機名) 根據提示輸入“yes” 
  2. 輸入命令exit登出(Logout)
  3. 再次輸入命令ssh localhost即可直接登入
other:http://blog.csdn.net/stark_summer/article/details/42393053