Hadoop集群搭建(二)——Linux系统SSH远程双向免密登陆


  • 注重版权,转载请注明原作者和原文链接
  • 作者:Yuan-Programmer

相关文章:
Hadoop集群的搭建(一)——Liunx系统的网络配置,主机配置,多台虚拟机间的相互连通和远程操作

相关资源:
VMware Workstation 16 pro(最新版) 安装包百度网盘下载地址
链接:https://pan.baidu.com/s/1gI8rhENSl_V9RAmXfK-ClA
提取码:peu0

激活码可以在百度搜16pro版本的,网上有很多

我们在虚拟机中经常用ssh通过 主机名 或者 ip 登陆另一台虚拟机进行操作,但是每次登陆都需要输入密码,不方便团队间的合作开发,所以我们可以设置免密登陆,下次登陆其他虚拟机设备时就不需要再输入密码了

我们在上期时候创建了两个虚拟机——hadoop1hadoop2,这次继续用这两台虚拟机讲解双向免密登陆

一、免密登陆原理

假设我们要在hadoop1虚拟机中,通过ssh指令登陆hadoop2的虚拟机,这时候需要密码才能登陆

要做到免密登陆,就是在hadoop1虚拟机通过指令生成.ssh文件夹,生成密钥(包括私钥和公钥),将公钥通过scp指令远程拷贝到hadoop2虚拟机的.ssh文件夹中(拷贝前和hadoop1一样先生成.ssh文件夹)

拷贝之后,将hadoop1的公钥通过cat指令写到到authorized_keys文件中,即可完成免密登陆。hadoop2虚拟机要免密登陆hadoop1同理

下面具体来看下如何操作

二、双向免密登陆操作过程

首先,打开hadoop1虚拟机,输入指令ssh-keygen -t rsa,作用是生成.ssh文件夹,同时生成密钥到文件夹中

连续按下三下回车键即可(即默认设置),如有要修改的自行修改就好
在这里插入图片描述

同理,打开hadoop2虚拟机,输入一样的指令ssh-keygen -t rsa,连续按三下回车键默认设置
在这里插入图片描述
回到hadoop1虚拟机,输入指令cd /root/.ssh跳转到.ssh文件夹下,再输入指令ls查看当前目录
在这里插入图片描述
可以看到生成两个密钥,其中id_rsa是私钥,id_rsa.pub是公钥,我们需要将id_rsa.pub公钥拷贝到hadoop2的虚拟机中

拷贝之前先重新命名,方便和其他虚拟机的公钥区分,避免把hadoop2的公钥给覆盖掉

输入指令mv id_rsa.pub id_rsa_1.pub
在这里插入图片描述
可以看到,文件名已经成功修改,接着就是远程拷贝到hadoop2虚拟机中

输入指令scp id_rsa_1.pub root@hadoop2:/root/.ssh/,首次拷贝需要输入yes和对方虚拟机的密码
在这里插入图片描述
这时候haoop1的已经拷贝成功,我们打开hadoop2虚拟机,在上面的时候就已经给hadoop2生成了.ssh文件夹和密钥,接着只需要

输入指令cd /root/.ssh跳转到.ssh文件夹
输入指令mv id_rsa.pub id_rsa_2.pub修改公钥文件名
输入指令scp id_rsa_2.pub root@hadoop1:/root/.ssh/拷贝到hadoop1虚拟机的.ssh文件夹中

执行结束之后输入ls可以看到在两台虚拟机中都各自有对方的公钥文件

文件名 介绍
id_rsa 私钥文件
id_rsa_1.pub hadoop1的公钥文件
id_rsa_2.pub hadoop2的公钥文件
known_hosts 首次登陆其他虚拟机时创建的历史痕迹文件

接着就是分别在两台虚拟机中将两个公钥文件写到authorized_keys文件中
hadoop1hadoop2两台虚拟机中分别输入指令cat id_rsa_1.pub id_rsa_2.pub >> authorized_keys

写入成功之后可以输入指令more authorized_keys查看文件信息
在这里插入图片描述
双向免密登陆到这里就结束了,最后我们来测试一下
hadoop1登陆到hadoop2,可以看到不用再输入密码了
在这里插入图片描述
hadoop2登陆到hadoop1,可以看到一样不用输入密码
在这里插入图片描述
输入指令exit可以退出登录

说明:
       本文章中的ssh hadoop1scp ... root@hadoop1...等命令中,可以将hadoop1换成ip地址也是一样的。

       案例中是通过主机名(也就是hadoop1)操作的,如发生报错,应该是没有配置主机名等,详细的请看上一篇文章的介绍——Hadoop集群的搭建(一)——Liunx系统的网络配置,主机配置,多台虚拟机间的相互连通和远程操作。

       同时需要注意,在最开始操作之前确保两台虚拟机之间可以互相连通(ping)。


  • 本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我
  • 感谢阅读~

猜你喜欢

转载自blog.csdn.net/weixin_47971206/article/details/120631787