hadoop設定ssh免密碼登入
阿新 • • 發佈:2019-02-03
轉載:http://blog.csdn.net/zwx19921215/article/details/19641345
對於需要遠端管理其它機器,一般使用遠端桌面或者telnet。linux一般只能是telnet。但是telnet的缺點是通訊不加密,存在不安全因素,只適合內網訪問。為
解決這個問題,推出了通訊加密通訊協議,即SSH(Secure Shell)。使用非對稱加密方式,傳輸內容使用rsa或者dsa加密,可以避免網路竊聽。
Hadoop的程序之間同信使用ssh方式,需要每次都要輸入密碼。為了實現自動化操作,需要配置ssh免密碼登陸方式。
主節點配置:
- 首先到使用者主目錄(cd ~),ls -a檢視檔案,其中一個為“.ssh”,該檔案價是存放金鑰的。待會我們生成的金鑰都會放到這個資料夾中。
- 現在執行命令生成金鑰: ssh-keygen -t rsa -P "" (使用rsa加密方式生成金鑰)回車後,會提示三次輸入資訊,我們直接回車即可。
- 進入資料夾cd .ssh (進入資料夾後可以執行ls -a 檢視檔案)
- 將生成的公鑰id_rsa.pub 內容追加到authorized_keys(執行命令:cat id_rsa.pub >> authorized_keys)
- 以同樣的方式生成祕鑰(ssh-keygen -t rsa -P "" ),然後s1和s2將生成的id_rsa.pub公鑰追加到m1的authorized_keys中)
- 在s1中執行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s1 ,
- 進入m1執行命令:cat id_rsa.pub.s1 >> authorized_keys ,cat id_rsa.pub.s1 >> authorized_keys
- 最後將生成的包含三個節點的祕鑰的authorized_keys 複製到s1和s2的.ssh目錄下( scp authorized_keys s1:/root/.ssh/, scp authorized_keys s2:/root/.ssh/)
- 輸入命令ssh localhost(主機名) 根據提示輸入“yes”
- 輸入命令exit登出(Logout)
- 再次輸入命令ssh localhost即可直接登入