對於需要遠端管理其它機器,一般使用遠端桌面或者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 ,在s2中執行命令:scp id_rsa.pub m1:/root/.ssh/id_rsa.pub.s2
進入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即可直接登入
設定遠端免密登入伺服器
要想通過 ssh 遠端免密登入,那麼最直接的就是將自己的公鑰部署到伺服器中,下面是詳細步驟 預設情況下,使用者的ssh金鑰儲存在其 ssh目錄下。進入該目錄並列出其中內容,便可以快速確認自己是否已擁有金鑰 cd ssh ls authorized keys2 id dsa known hosts c...
伺服器免密登入
由於有多台伺服器,每次登入還需要 去找對應的伺服器位址,然後輸入密碼,為了避免麻煩,就使用了免密登入。普通登入方式 ssh p 22 root 120.79.155.201 每次登入還需要輸入密碼,比較麻煩 更換免密碼登入 本地操作 本地的公鑰位置 ssh id rsa.pub ssh目錄下建立乙個...
Linux免密登入伺服器
1.本機 ssh 資料夾獲取公鑰 私鑰檔案 公鑰 id rsa.pub 私鑰 id rsa 如您未找到金鑰檔案,可通過ssh keygen t rsa生成。如圖 2.目標機 需要登入的遠端機器 1 使用ssh登入目標機器 如 ssh root 101.200.237.2 輸入目標機器密碼 3 修改 ...