SSH免密登录

作者: 杯酒难醉 | 来源:发表于2020-03-06 22:18 被阅读0次

免密登录的原理

首先免密登录要从SSH的流程说起,最常见的是密码登录,流程如下

免密登录要实现的是客户端向服务端发起连接请求的时候,服务端已经认识客户端,从而实现直接授权。

通过1个类比来理解这个原理:

密码登录就是小弟要到山上的寨子里去,结果看门的大爷说了自己的暗号(12345)小弟收到暗号后,根据组织上给的算法,报上暗号(123456,其实就是加了后面一个数字)。对头!放行。

那么实现免密登录就是不想提供密码,这个时候交互的逻辑是不会变的,对方一定要检验客户端信息。不输入密码,那就对服务端的任意一个信息进行校验就可以。

比如:

上面的大爷今天说的是12345,明天说的可能是123456。

那么如何保证你就是山寨里的人呢,就要“算法”一致。这个可以通过客户端生成一对秘钥来,然后把公钥分发给服务端。“算法”一致就是你加密的我能解密,解出来给你看看,就知道我是不是山寨的人了。

所以操作逻辑是这样:

1.在A上生成公钥私钥。

2.将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)

3.Server A向Server B发送一个连接请求。

4.Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A。

5.Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录。

总之:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。

具体操作非常简单了,可以参考https://blog.csdn.net/jeikerxiao/article/details/84105529。这里就不描述了。

相关文章

  • Hadoop安装

    配置SSH免密登录 ssh localhost 验证免密登录是否配置成功 安装Java Java是Hadoop的先...

  • Centos/SSH免密登录

    Centos/SSH免密登录 test

  • Jenkins的Publish Over SSH功能将项目部署到

    免密登录设置 在使用Publish Over SSH之前,需要制作SSH私钥。机器间做免密登录配置。假设机器A,i...

  • 安装ES5.3

    ips: 192.168.61.141192.168.61.142192.168.61.143 ssh免密登录设置...

  • linux ssh 免密登录设置

    免密登录设置 一般情况下ssh登录远程机器需要输入密码,可以设置免密登录 ssh-keygen -t rsa命令一...

  • Ubuntu的ssh

    安装ssh 创建root用户 配置本机无密码ssh登录 spark0免密码ssh登录spark1 spark1免密...

  • ssh免密登录

    1、免密登录配置1.1、hostname修改 1.2、ssh免密 ssh node02看是否已经生效,如果不生效,...

  • SSH免密登录

    免密登录的原理 首先免密登录要从SSH的流程说起,最常见的是密码登录,流程如下 免密登录要实现的是客户端向服务端发...

  • 常用Linux命令

    ssh -X c8 可打开图形界面的远程登陆,免密登录 ssh root@c8a 非免密登录 scp -r tes...

  • 【总结】LINUX常见命令深度解析

    摘要 本文讲解LINUX下用户/用户组,文件属性及修改,SUDO免密登录,SSH互信免密登录,VIM,histor...

网友评论

    本文标题:SSH免密登录

    本文链接:https://www.haomeiwen.com/subject/poharhtx.html