- 注重版权,转载请注明原作者和原文链接
- 作者:Yuan-Programmer
相关文章: Hadoop集群的搭建(一)——Liunx系统的网络配置,主机配置,多台虚拟机间的相互连通和远程操作
相关资源: VMware Workstation 16 pro(最新版) 安装包百度网盘下载地址 链接:https://pan.baidu.com/s/1gI8rhENSl_V9RAmXfK-ClA 提取码:peu0
激活码可以在百度搜16pro版本的,网上有很多
我们在虚拟机中经常用ssh通过 主机名 或者 ip 登陆另一台虚拟机进行操作,但是每次登陆都需要输入密码,不方便团队间的合作开发,所以我们可以设置免密登陆,下次登陆其他虚拟机设备时就不需要再输入密码了
我们在上期时候创建了两个虚拟机——hadoop1和hadoop2,这次继续用这两台虚拟机讲解双向免密登陆
一、免密登陆原理
假设我们要在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 文件中 在hadoop1和hadoop2两台虚拟机中分别输入指令cat id_rsa_1.pub id_rsa_2.pub >> authorized_keys
写入成功之后可以输入指令more authorized_keys 查看文件信息 双向免密登陆到这里就结束了,最后我们来测试一下 hadoop1登陆到hadoop2,可以看到不用再输入密码了 hadoop2登陆到hadoop1,可以看到一样不用输入密码 输入指令exit 可以退出登录
说明: ???????本文章中的ssh hadoop1 、scp ... root@hadoop1... 等命令中,可以将hadoop1 换成ip 地址也是一样的。
???????案例中是通过主机名(也就是hadoop1)操作的,如发生报错,应该是没有配置主机名等,详细的请看上一篇文章的介绍——Hadoop集群的搭建(一)——Liunx系统的网络配置,主机配置,多台虚拟机间的相互连通和远程操作。
???????同时需要注意,在最开始操作之前确保两台虚拟机之间可以互相连通(ping)。
- 本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我
- 感谢阅读~
|