集群、單節點模式都需要用到 SSH 登陸(類似於遠程登陸,你可以登錄某台 Linux 主機,並且在上面運行命令),Ubuntu 默認已安裝了 SSH client,此外還需要安裝 SSH server:
- sudo apt-get install openssh-server
安裝后,可以使用如下命令登陸本機:
- ssh localhost
此時會有如下提示(SSH首次登陸提示),輸入 yes 。然后按提示輸入密碼 hadoop,這樣就登陸到本機了。
但這樣登陸是需要每次輸入密碼的,我們需要配置成SSH無密碼登陸比較方便。
有以下兩種實現方法:
一、首先退出剛才的 ssh,就回到了我們原先的終端窗口,然后利用 ssh-keygen 生成密鑰,並將密鑰加入到授權中:
- exit # 退出剛才的 ssh localhost
- cd ~/.ssh/ # 若沒有該目錄,請先執行一次ssh localhost
- ssh-keygen -t rsa # 會有提示,都按回車就可以
- cat ./id_rsa.pub >> ./authorized_keys # 加入授權
二、
1,登錄ssh localhost
2,ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3,再次執行ssh localhost
4,要保證:
~/.ssh需要是700權限
authorized_keys需要是644權限
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
5,此時進入到~/.ssh目錄下,會看到多了一個文件know_hosts文件,如下圖所示:
6,退出exit
重新打開shell
7,最后ssh localhost驗證一下
此時再用 ssh localhost
命令,無需輸入密碼就可以直接登陸了。