介绍

SSH原理其实是非对称加密。即公钥加密私钥解密
免密登录原理:
即事先将RSA非对称加密的公钥由主节点拷贝到到其他节点,只需实现主节点至其他节点的免密即可

流程如下:

  1. Client将自己的公钥存放在Server上,追加在文件authorized_keys中。
  2. Server端接收到Client的连接请求后,会在authorized_keys中匹配到Client的公钥pubKey,并生成随机数R,用Client的公钥对该随机数进行加密得到pubKey®,然后将加密后信息发送给Client。
  3. Client端通过私钥进行解密得到随机数R,然后对随机数R和本次会话的SessionKey利用MD5生成摘要Digest1,发送给Server端。
  4. Server端会也会对R和SessionKey利用同样摘要算法生成Digest2。
  5. Server端会最后比较Digest1和Digest2是否相同,完成认证过程。
    流程摘自此链接,详细介绍可以参考

1. 环境准备

1、两台能相互ping通的机器

2. 环境搭建

  1. 去掉/etc/ssh/sshd_config的注释,打开RSA非对称密钥验证,所有节点都须操作
# 编辑文件
vim /etc/ssh/sshd_config# 去掉注释
#PubkeyAuthentication yes其他版本也可能需要去掉这个的注释,没有就不用
#RSAAuthentication yes
  1. 生成密钥对
# 如果没有这个命令,用yum安装
ssh-keygen -t rsa#接下来需要输入一些信息,如名字等,推荐直接回车
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0i8s207/is2mg9cGWhvzBIPZF8pUIXvFDz2oYHbtWss root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|        ..o+.o   |
|        =oo.= o  |
|       O.+.+ o . |
|      o.*.o o .  |
|      . S+ + .   |
|       o=.o E    |
|      .++O.      |
|      o=+*=      |
|      .o===o.    |
+----[SHA256]-----+
  1. 创建authorized_keys文件

通过之前介绍的流程可以知道,如果node1 想要ssh node2,则node2必须含有node1的公钥,
如果节点比较对,推荐直接在一个文件里写入所有的pub key 然后传到其他节点上。

这是我本地虚拟机的密钥,你们看了也没啥,哈哈,了解下生成的样子

[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys
[root@localhost .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub
[root@localhost .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDM9PpE3mg5OLS2GkRkA/F8U3MNUOJ2M/WdujY0RXfjRqRdojOXyryQ6FfInTKjkIj+GX6KTgYq7eTUeykZqcxclxu8NaDWcQeT2ANjO7XoHwuGFCVlRfnXJ3AeALttcyhhYH6dTKSwqW9om34IV16aFm3rGZ2Biim03nB4EK5kFjwPMxECiyKI8Y66pIHvnlBQqRm0UzP22y4u5GktHxNBtSzom875cWDJ953gS6spPraLg34tSyDaARYBHy1e+pvCPzaHhSjZ6w3ZcwIM6cuuOeCwVuODRb1DoRXmSI3EzU71Ffku8E0yoVrtnauhij7vKt3ad4keNlAHOOKslNmp root@localhost.localdomain

因为我有五个节点,所有最后生成的key是这样的:

然后将相通的内容传到其他节点上,就可以实现ssh登录了。


测试:
我们有两台节点:

Linux 配置SSH免密登录相关推荐

  1. linux 配置免密码登录,Linux - 配置SSH免密登录 - “ssh-keygen”的基本用法

    1 什么是SSH 引用百度百科的说明: SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:它是建立在应用层基础上的安全协议. S ...

  2. 20210829-基于CentOS7/Linux配置ssh免密登录

    #关键字:Linux,CentOS7,ssh 登录,免密登录 目录 一.目标: 二.环境说明: 三.配置步骤: 一.目标: 1. 从一台机器使用 'shh 主机名'命令登录另一台机器时不用输入密码. ...

  3. OSX/Linux 配置SSH免密登录并配置(Alias)别名登录

    为什么80%的码农都做不了架构师?>>>    一.本机执行这2步即可: 1.ssh-keygen -t rsa(一路回车下去即可) 2.sudo ssh-copy-id -i ~/ ...

  4. linux中ssh免密登录,Linux之SSH免密登录

    Linux 双向 SSH 免密登录 原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要 ...

  5. 本地mac配置ssh免密登录远程linux服务器

    本地mac配置ssh免密登录远程linux服务器 每次输入密码登录服务器也就罢了,结果scp时每次都要输入密码,分分秒秒阿西吧.哈哈哈,回归正题,配置免密登录后,畅通无阻啊,哈哈哈 检查自己~/.ss ...

  6. 华为/华三交换机配置SSH免密登录

    数据通信 - 建设篇 第二章 华为/华三交换机配置SSH免密登录 数据通信 - 建设篇 系列文章回顾 下章内容 华为/华三交换机配置SSH免密登录 背景介绍 实施步骤 堡垒机Linux后台使用ssh- ...

  7. 如何配置ssh免密登录

    ssh免密登录的创建和验证流程 在linux如何进行免密登录? 在生成环境中,我们可能会面临着只有一台机器有外网IP,而其它机器都是内网IP,如果我们需要频繁的操作内网的其它服务器,显然会非常不方便. ...

  8. Linux环境非root用户配置SSH免密登录(配置原理)

    问题产生背景: 有三台CentOS 7.5机器要部署hadoop分布式环境,机器信息如下 IP 地址 主机名 192.168.119.100 node01 192.168.119.110 node02 ...

  9. 【Linux】SSH免密登录配置

    SSH免密登录配置 前提:两用户已存在 用户A:user_a 用户B:user_b 先要求从user_a到用户user_b进行ssh和scp免密登录. 登录用户user_a 1. 检查/home/us ...

  10. linux上ssh免密登录原理及实现

    因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...

最新文章

  1. TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
  2. 中国污水处理行投资建议与运营价值分析报告2022-2027年
  3. IOS将字符串转换为日期时间格式
  4. C++基础部分_C++文件操作_文件的读取操作---C++语言工作笔记077
  5. 谍照曝光!特斯拉正在测试完全自动驾驶
  6. spring boot之http,页面状态跳转与异常处理实战
  7. 大数据可视化有哪些分析步骤
  8. C# 线程同步 信号量 Semaphore
  9. CarMaker与NS3联合仿真平台--安装
  10. Win10重装系统后进行初始化
  11. js登录设置cookie
  12. 《c语言 从入门到放弃》,从入门到放弃的?单片机这样做很容易!
  13. adc0832工作原理详解_ADC0832内部原理
  14. 913_emacs中使用restart-emacs
  15. RabbitMQ系列——Rabbitmq Plugin configuration unchanged. 解决方案
  16. IOS 七种手势详解(动图+Demo下载)
  17. C语言编程核心要点,男人看了沉默,女人看了流泪
  18. egg-socket-io的demo案例
  19. Android 预装APK
  20. pscp 项目上传中文文件乱码问题

热门文章

  1. 不要想当然,相信自己(自己在C中踩过的坑)
  2. 学习Vue3 第二十七章(自定义指令directive)
  3. markdown转html格式
  4. CRM软件的未来发展趋势
  5. Sping入门(1) 了解依赖注入(DI)和应用切片(AOP)
  6. DisparityCost Volume in Stereo
  7. 如何在腾讯云快速注册域名
  8. 3dMAX+Vary 调节焦散效果爬坑
  9. matlab阿伦尼乌斯方程,马铃薯酶促褐变机理研究
  10. MacOS修改Hosts文件