- 注重版权,转载请注明原作者和原文链接
- 作者:Yuan-Programmer
相关文章:
Hadoop集群的搭建(一)——Liunx系统的网络配置,主机配置,多台虚拟机间的相互连通和远程操作
【Hadoop|Hadoop集群搭建(二)——Linux系统SSH远程双向免密登陆】相关资源:我们在虚拟机中经常用ssh通过
VMware Workstation 16 pro(最新版) 安装包百度网盘下载地址
链接:https://pan.baidu.com/s/1gI8rhENSl_V9RAmXfK-ClA
提取码:peu0
激活码可以在百度搜16pro版本的,网上有很多
主机名
或者 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)。
- 本次文章分享就到这,有什么疑问或有更好的建议可在评论区留言,也可以私信我
- 感谢阅读~
推荐阅读
- 网络|操作系统及linux知识总结——网络篇
- Linux|Ubuntu Linux操作系统——图形界面与命令行
- Linux学习之路|Linux——SSH服务篇与防火墙简单配置
- redhat|远程连接——SSH
- linux|Linux基础篇——Linux网络配置(配置网卡、固定IP,固定hostname,终端远程)详解
- Linux防护与群集|第十章(Mysql主从复制读写分离)
- SLAM|Linux 配置《视觉SLAM十四讲》环境的步骤
- 某课大数据工程师2022版2.0升级版完结无密
- git|Git同时配置和提交代码到Github和Gitee