问题描述

输入下方代码时:

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

问题解决!:

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐