linux下为hadoop开启SSH免密钥登录


hadoop节点之间的通讯是通过ssh进行的,这一点在hadoop-deamon.sh start namenode的过程中就能看出来。

在slaves.sh中有

SSH默认都是需要密码的,开启免密钥登录会减少很多麻烦。

操作很简单,两步(三步)就可以完成。

1、首先在本地生成公钥和私钥。

 ssh-keygen -t rsa

#后面都按回车跳过即可(三次)
# 运行结束后在 ~/.ssh/下生成两个新文件: id_rsa.pub和id_rsa

2、将公钥拷贝到远程主机

ssh-copy-id username@host

# username是用户名  host是主机的地址

#远程主机将用户的公钥保存在 ~/.ssh/authorized_keys文件中

3、如果发现. Agent admitted failure to sign using the key 这个错误,还要输入密码,是ssh本身的问题

可以使用命令:

ssh-add   ~/.ssh/id_rsa  把私钥加进来即可

上述操作后即可完成。

我用本机SSH本机做例子

1、首先生成公钥私钥

2、拷贝到远程主机,实际上就是拷贝到本机上了。可以看到多了一个文件 authorized_keys

3、直接登陆发现了错误,然后我把自己的私钥加了进来,随后就可以连接。



你可能感兴趣的:(linux)