Linux中实现Hadoop各节点间的SSH免密登录

什么是SSH?

传统的网络服务程序,如FTP、Pop和Telnet在传输机制和实现原理上是没有考虑安全机制的,其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,别有用心的人通过窃听等网络攻击手段非常容易地就可以截获这些数据、用户帐号和用户口令。而且,这些网络服务程序的简单安全验证方式也有其弱点,那就是很容易受到"中间人"(man-in-the-middle)这种攻击方式的攻击。所谓"中间人"的攻击方式,就是"中间人"冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被"中间人"一转手做了手脚之后,就会出现很严重的问题。
SSH是英文Secure Shell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。

SSH登录时有两种验证方法

  • 第一种:
    基于密码的安全验证,它要求用户在每次登录服务器时输入密码,服务器端验证通过后即登录成功。
  • 第二种:
    基于密钥的安全验证,客户端的公钥会预先保存在服务器端,当登录时,服务器端会使用该公钥做验证,如果验证成功,用户不需输入密码即完成登录。为了避免每次都输入密码这种重复性工作,我们选择第二种方式进行远程登录

SSH的原理

在这里插入图片描述

Linux中实现Hadoop各节点间的SSH免密登录

实验节点为4个:

master1master2slave1slave2
主节点1主节点2从节点1从节点2

1.各节点生成公钥秘钥对

四个节点都要做一遍,中间一路回车,生成的公钥秘钥会在 /root/.ssh/ 路径下

[root@master1 ~]# ssh-keygen -t rsa

在这里插入图片描述

2.进入master1节点的 /root/.ssh/ 目录下

将master1公钥拷贝一份,命名为 authorized_keys

[root@master1 ~]# cd .ssh/
[root@master1 .ssh]# cp id_rsa.pub authorized_keys
[root@master1 .ssh]# cat authorized_keys 

此时,公钥已经保存在authorized_keys文件中了

在这里插入图片描述

3.将authorized_keys 复制到master2上

用 scp 命令复制 authorized_keys 到master2 的 /root/.ssh/目录下,中间需要确认输入密码

[root@master1 .ssh]# scp authorized_keys master2:/root/.ssh/

在这里插入图片描述

4.切换至master2节点,将master2公钥保存在authorized_keys中

进入master2的 /root/.ssh/ 目录下,因为 authorized_keys 已经复制到msater2的/root/.ssh/目录下,所以,用cat追加内容至authorized_keys文件即可

[root@master2 ~]# cd .ssh/
[root@master2 .ssh]# cat id_rsa.pub >> authorized_keys 

master2的公钥就保存在authorized_keys文件中了

在这里插入图片描述

5.重复第4步,将slave1、slave2节点的公钥保存至authorized_keys中

6.将slave2中的公钥保存至authorized_keys中后

将slave2中authorized_keys拷贝复制到master1、master2、slave1节点的/root/.ssh/目录下

[root@slave2 .ssh]# scp authorized_keys master1:/root/.ssh/
[root@slave2 .ssh]# scp authorized_keys master2:/root/.ssh/
[root@slave2 .ssh]# scp authorized_keys slave1:/root/.ssh/

7.至此,SSH免密登录完成

[root@master1 ~]# ssh master2

在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值