問題描述
輸入下方代碼時:
start-dfs.sh
start-yarn.sh
start-all.sh
會出現
localhost: 用戶名@localhost: Permission denied (publickey,password).
原因
沒有設置ssh免密登錄
原理
服務器生成一把密鑰(id_rsa),一把公鑰(id_rsa.pub)。
將公鑰拷貝到客戶端的~/.ssh文件中(cat./id_rsa.pub >> ./authorized_keys)
安裝版本: 課本版本:
ubuntu version-18.04 ubuntu version-14.04
java version-11.0.9.1 java version-7.0
hadoop version-3.3.0 hadoop version-2.6.4
SSH version-*-*-*- SSH version-*-*-*-
用戶名 **** 用戶名 ***
由於安裝版本與課本不同,相同的操作會帶來不一樣的效果。
解決方法
1.檢查ssh是否安裝成功
相關代碼:
sudo apt-get install ssh
//安裝ssh
sudo apt-get install rsync
//安裝rsync
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
//產生SSH Key進行後續身份驗證
ll ~/.ssh
//查看生成的SSh祕鑰
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
//將生成的Key放到許可證文件中
2.打開ssh localhost(免密碼登陸)
輸入代碼並進行身份驗證:
ssh localhost
3.編輯PermitRootLogin
1.輸入代碼編輯sshd_config
sudo gedit /etc/ssh/sshd_config
2.找到PermitRootLogin,PasswordAuthentication
去掉註釋
把 #PermitRootLogin prohibit-password
改爲:PermitRootLogin yes
把 #PasswordAuthentication yes
改爲:PasswordAuthentication yes
把 #PubkeyAuthentication yes
改爲:PubkeyAuthentication yes
3.然後重啓ssh服務器
輸入
sudo service ssh restart
解決問題
輸入代碼
start-all.sh
jps
問題解決!: