Ubuntu之hadoop-分布式集群ssh免密码登录
发布日期:2021-06-29 12:30:22 浏览次数:3 分类:技术文章

本文共 1710 字,大约阅读时间需要 5 分钟。

配置ssh的实现思路:

1、在每台机子上都使用ssh-keygen生成public key,private key2、所有机子的public key都拷到一台机子如master上3、在master上生成一个授权key文件authorized_keys4、最后把authorized_keys拷给所有集群中的机子,就能保证无密码登录

1 先在master上,在当前用户目录下生成公钥、私钥对

执行命令$ssh-keygen  -t  rsa  -P ''

2 导入公钥

执行命令$cat  .ssh/id_rsa.pub  >>  .ssh/authorized_keys

执行完以后,可以在本机上测试下,用ssh连接自己

执行命令$ssh maste

如果提示要输入密码,

查看authorized_keys文件权限,
如果是属于其他用户的,
需要修改该文件给其他用户权限

执行命令$chmod  644  .ssh/authorized_keys

修改文件权限,然后再测试下 ssh master,如果不需要输入密码,就连接成功,表示ok,一台机器已经搞定了。

出现问题试解决:

请先检查SSH服务是否启动,如果没启动,请启动!如果没有.ssh目录则创建一个:执行命令$cd     /home/hadoop $mkdir .ssh如无权限,使用命令修改要操作文件夹的owner为当前用户:执行命令$sudo  chown  -R  hadoop  /home/hadoop

3 在其它机器上生成公钥、密钥,并将公钥文件复制到master

执行命令在slave1上:scp  .ssh/id_rsa.pub   hadoop@master:/home/hadoop/id_rsa_1.pub在slave2上:scp  .ssh/id_rsa.pub  hadoop@master:/home/hadoop/id_rsa_2.pub

master中,查看下/home/hadoop目录,应该有二个新文件id_rsa_1.pub、id_rsa_2.pub

在master上,导入这二个公钥

执行命令$cat id_rsa_1.pub >> .ssh/authorized_keys$cat id_rsa_2.pub >> .ssh/authorized_keys

这样,master这台机器上,就有所有3台机器的公钥了

4 将master上的“最全”公钥,复制到其它机器

在master上执行命令$scp .ssh/authorized_keys  hadoop@slave1:/home/hadoop/.ssh/authorized_keys$scp .ssh/authorized_keys  hadoop@slave2:/home/hadoop/.ssh/authorized_keys修改其它机器上authorized_keys文件的权限slave1以及slave2机器上,均执行命令chmod  600  .ssh/authorized_keys

5 验证

在每个虚拟机上,均用命令  ssh+其它机器的hostname 都能正常无密码连接成功执行命令$ssh  slave1$ssh  master$ssh  slave2

6.SSH免密码设置失败解决

1、权限问题.ssh目录,以及/home/当前用户 需要700权限,参考以下操作调整$sudo   chmod   777   ~/.ssh$sudo  chmod 700  /home/当前用户.ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整$sudo chmod   644   ~/.ssh/authorized_keys
2、StrictModes问题$sudo gedit /etc/ssh/sshd_config找到#StrictModes yes改成StrictModes no

如果还不行,可以用ssh -vvv 目标机器ip 查看详情

小结:在各节点上生成公钥、私钥,然后将公钥发放其它所有节点。

转载地址:https://bupt-xbz.blog.csdn.net/article/details/79154494 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:大数据-3
下一篇:大数据-3

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月23日 10时50分51秒