Hadoop伪分布式集群实现SSH免密登录

在启动Hadoop时候报了这样一个错误:

Starting namenodes on [hadoop] hadoop: (Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

问题原因:在于没有设置SSH免密登录的问题。

网上有很多种方法解决,改sshd_config,改ssh_config等等,改了半天发现都不对。

因为把配置文件改的乱七八糟,于是重装了ssh,重装过程如下(如果没有改动的话请忽略这部分!):

1.rpm -qa|grep ssh

2.使用rpm -e 命令卸载相关的包

    rpm -e openssh-server-7.4p1-21.el7.x86_64

 3.查看sshd的服务状态
    service sshd status

4.安装

   yum install -y openssh-server

5.启动

   service sshd

再次查看状态:

 

然后开始设置SSH免密登录

(如果你之前已经执行过以下命令,先删除掉.ssh 文件    rm -rf .ssh)

1、用hadoop用户登录,执行如下命令

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

生成密钥文件,出现Enter file in which to save the key (/usr/hadoop/.ssh/id_rsa) 直接enter即可。(答应我不要写路径也不写密码好吗,写了密码的话你用密钥登录也要密码,别问怎么知道的,重装了好几遍系统就知道了...)
2、将 id_dsa.pub文件内容导入/authorized_keys,使用命令:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3、修改本文件的权限,严格按照如下图赋权限:

 文件夹赋权限的命令(权限赋值完也要回去检查一下嗷!):

 ~/.ssh需要是700权限
authorized_keys需要是644权限

chmod 700 ~/.ssh

chmod 644 ~/.ssh/authorized_keys
测试一下:ssh localhost
如果不用你输入密码就登上了,那就好了,如果还要密码。那就重装个系统不要乱改照着下面这部分再来一次~祝各位成功。我反正是重装了三次才总结出这篇。

 

posted @ 2020-03-16 16:39  做个读书人  阅读(569)  评论(0编辑  收藏  举报