拷贝之后,将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)。
- 本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK
给大家整理的电子书资料:
[外链图片转存中…(img-8Cy3Uie3-1724420673369)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
详情docs.qq.com/doc/DSmdCdUNwcEJDTXFK