linux集群的ssh免密登录原理及实操

一、概念

1. ssh是什么?

说到ssh,也许大家会想到明文和密文,密文的实现就是给明文加密,密文转成大家能看懂的明文就是需要解密,ssh是属于公钥和私钥加解密,这里的ssh实现就是通过非对称加密实现的,非对称加密比对称加密的好处在于安全性更高,服务器之间交互数据是通过公钥加密,然后通过自己的私钥来解密。

2. 公钥和私钥怎么加解密?

image.png

  • 简单来说,你有私钥和公钥两把钥匙,那么你可以把你的公钥发给别人,别人就可以在发明文给你时通过公钥加密后再发送,你收到该密文后,如果自己的私钥能解密,那发送方肯定式你给公钥的信任方,就可以通过私钥来解密,这里又能提到一点数字签名,就是通过公钥和私钥实现的。
  • 这种情况下,数据只能从对方发送,自己只能接收,如果要实现双方都能发送和接受,就需要自己拥有对方的公钥,也就是彼此都有一把自己的私钥和对方的公钥,这样才能实现交互,下面在实现linux集群时,是需要双方交互,所以就先简单讲了一下概念。

3. ssh使用了哪些技术来做安全认证?

  • 当你作为客户机去访问服务器的时候,使用ssh来连接,即ssh 服务器地址,你会收到一个信息摘要,信息摘要一般分为两种,MD5加密算法和SHA散列算法,ssh使用的散列算法是SHA256散列算法,产生的是256位的输出,安全性更高。
  • 两者目的都是为了做消息认证,及保证对方消息的完整性,信息摘要是对明文做了加密,不同明文的加密不同,确保完整性,在公开信道上如果被人做了手脚,即可认为信息摘要被改动了,就要发出警告,一般来说,客户机第一次用ssh连接服务器时,会接收到服务器的域名ip地址信息摘要,然后保存在本地,下一次连接时,会首先确认明文是否被改动过,因为在公开信道上,任何人是可以盗取你发的明文,然后封装完再发回给你。

二、环境准备

1. 环境和网络

环境即搭建好集群中的虚拟机,虚拟机搭建可以看尚硅谷hadoop前面几节,跟着敲就行了,网络包括集群中两两虚拟机能够ping通,这些具备好了之后这一步就结束了哈哈。


三、实操

1. 生成私钥和公钥

上一步成功后,那么跟着我实操吧,打开三台虚拟机,可以使用xshell连接,操作起来更加流畅。
image.png
三台虚拟机都定位到用户目录,我这里用的是普通用户,即在/home/用户名/目录下
image.png

  • 查看隐藏文件.ssh是否存在
[localhost@localhost102 ~]$ ls -al
  • 删除之前存在的.ssh文件夹
[localhost@localhost102 ~]$ rm -rf .ssh
  • 生成rsa私钥和公钥,需要三次空格,算法使用的是SHA256散列加密
[localhost@localhost102 ~]$ ssh-keygen -t rsa

image.png

  • 生成的私钥和公钥如下:

image.png

2. 分发公钥

  • 分发公钥给其他主机,yes后再输入对方主机密码
[localhost@localhost102 ~]$ ssh-copy-id [ip地址]

分发成功后,本地在.ssh文件夹下生成known_hosts,包含对方的域名ip地址信息摘要,对方在.ssh文件夹下生成authorized_keys即是自己的公钥,里面包含自己的用户名ip地址

  • 下次使用ssh连接对方主机,即可直接免密登录
[localhost@localhost102 ~]$ ssh [ip地址]

要做到三台虚拟机能够相互ssh到,则还必须在另外两台虚拟机重复该操作,这里就不作过多阐述,只给最终结果:
每台虚拟机的authorized_keys都有其他虚拟机的公钥,即authorized_keys可以存放多个公钥

四、总结

  • ssh是一种建立在应用层基础上的安全协议,但TCP的SYN头部无法通信ssh,所以是需要依赖传输层TCP封装;
  • ssh不仅仅是使用rsa来生成公私钥,还是可以用其他的算法来生成。

五、附:

xshellxftp个人教育版下载,勿用于商业活动

声明:
与51CTO同步,转移至51CTO查看更多细节

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗝屁小孩纸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值