300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Ubuntu下搭建hadoop出现Permission denied (publickey password)的问题

Ubuntu下搭建hadoop出现Permission denied (publickey password)的问题

时间:2019-07-14 21:52:12

相关推荐

Ubuntu下搭建hadoop出现Permission denied (publickey password)的问题

最近在利用实验室的服务器搭建hadoop,一边看网上教程,一边动手自己搭建,发现还是容易碰到很多问题

问题来源

1. 老师在一台电脑新建了一个ubuntu虚拟机,然后配置好后直接使用克隆的方式,在本地复制了多台虚拟机。

2. 我在实验室中直接建好多台虚拟机,而且采用的是每个手动配置的方式

3. 在搭建hadoop过程中需要使用SSH的RSA认证方法使集群中的主机省去密码登录

4. 首先需要安装open-ssh服务sudo apt-get install openssh-server

5. 在本机生成密钥对`ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

6. 将公钥放到自动认证的xx文件中(我也不太懂)cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

问题现象

使用ssh登录本机没问题即ssh localhost后输入一次yes再次登录本机的时候不需要输入什么就可以登录使用ssh登录其他主机的时候需要输入主机的非root用户的密码才能连接(出现Permission denied (publickey,password).)如果无法使用ssh无密码连接其他节点的主机,那么在启动hadoop的时候会出现的输入其他主机的密码,即使正确输入也无法认证

解决办法:使用scp命令将hadoop核心主机(namenode)的authorized_keys文件放到其他主机的.ssh文件夹下,可使用命令“`scp ~/.ssh/authorized_keys aaa@ServerIP:~/.ssh/

“`注:此命令需要输入帐号aaa的密码,最好保证各个主机的用户名是aaa(相同),因为用rsa产生密钥对的时候应该是和主机的用户名有关,我也是根据<<网络安全>>这门课想出的这个问题

成功后在核心主机使用ssh 加其他主机的ip就可以实现无密码登录,然后就可以使用

start-all.sh --config xxx/xxx/hadoop-x.x.x/etc/xxx/启动了,如下图

PS:有时停止hadoop,断开主机ssh连接后(我是用x-shell连接主机的),再次启动hadoop的时候会出现下图

查看其他主机的目录发现

将此类型的主机使用命令ecryptfs-mount-private输入帐号的密码即可

PS:scp需要使用root用户时,无法正确认证

因为ubuntu默认下关闭了root用户的远程ssh登录,需要在远程主机的 /etc/ssh/sshd_config文件中将PermitRootLogin 改为yes(无论后面是no还是其他单词)

重启ssh服务sudo /etc/init.d/ssh restart

就可以使用scp 向远程主机的root权限下的目录下写入文件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。