Linux 配置SSH免密登录
介绍
SSH原理其实是非对称加密。即公钥加密私钥解密
免密登录原理:
即事先将RSA非对称加密的公钥由主节点拷贝到到其他节点,只需实现主节点至其他节点的免密即可
流程如下:
- Client将自己的公钥存放在Server上,追加在文件authorized_keys中。
- Server端接收到Client的连接请求后,会在authorized_keys中匹配到Client的公钥pubKey,并生成随机数R,用Client的公钥对该随机数进行加密得到pubKey®,然后将加密后信息发送给Client。
- Client端通过私钥进行解密得到随机数R,然后对随机数R和本次会话的SessionKey利用MD5生成摘要Digest1,发送给Server端。
- Server端会也会对R和SessionKey利用同样摘要算法生成Digest2。
- Server端会最后比较Digest1和Digest2是否相同,完成认证过程。
流程摘自此链接,详细介绍可以参考
1. 环境准备
1、两台能相互ping通的机器
2. 环境搭建
- 去掉/etc/ssh/sshd_config的注释,打开RSA非对称密钥验证,所有节点都须操作
# 编辑文件
vim /etc/ssh/sshd_config# 去掉注释
#PubkeyAuthentication yes其他版本也可能需要去掉这个的注释,没有就不用
#RSAAuthentication yes
- 生成密钥对
# 如果没有这个命令,用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]-----+
- 创建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免密登录相关推荐
- linux 配置免密码登录,Linux - 配置SSH免密登录 - “ssh-keygen”的基本用法
1 什么是SSH 引用百度百科的说明: SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:它是建立在应用层基础上的安全协议. S ...
- 20210829-基于CentOS7/Linux配置ssh免密登录
#关键字:Linux,CentOS7,ssh 登录,免密登录 目录 一.目标: 二.环境说明: 三.配置步骤: 一.目标: 1. 从一台机器使用 'shh 主机名'命令登录另一台机器时不用输入密码. ...
- OSX/Linux 配置SSH免密登录并配置(Alias)别名登录
为什么80%的码农都做不了架构师?>>> 一.本机执行这2步即可: 1.ssh-keygen -t rsa(一路回车下去即可) 2.sudo ssh-copy-id -i ~/ ...
- linux中ssh免密登录,Linux之SSH免密登录
Linux 双向 SSH 免密登录 原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要 ...
- 本地mac配置ssh免密登录远程linux服务器
本地mac配置ssh免密登录远程linux服务器 每次输入密码登录服务器也就罢了,结果scp时每次都要输入密码,分分秒秒阿西吧.哈哈哈,回归正题,配置免密登录后,畅通无阻啊,哈哈哈 检查自己~/.ss ...
- 华为/华三交换机配置SSH免密登录
数据通信 - 建设篇 第二章 华为/华三交换机配置SSH免密登录 数据通信 - 建设篇 系列文章回顾 下章内容 华为/华三交换机配置SSH免密登录 背景介绍 实施步骤 堡垒机Linux后台使用ssh- ...
- 如何配置ssh免密登录
ssh免密登录的创建和验证流程 在linux如何进行免密登录? 在生成环境中,我们可能会面临着只有一台机器有外网IP,而其它机器都是内网IP,如果我们需要频繁的操作内网的其它服务器,显然会非常不方便. ...
- Linux环境非root用户配置SSH免密登录(配置原理)
问题产生背景: 有三台CentOS 7.5机器要部署hadoop分布式环境,机器信息如下 IP 地址 主机名 192.168.119.100 node01 192.168.119.110 node02 ...
- 【Linux】SSH免密登录配置
SSH免密登录配置 前提:两用户已存在 用户A:user_a 用户B:user_b 先要求从user_a到用户user_b进行ssh和scp免密登录. 登录用户user_a 1. 检查/home/us ...
- linux上ssh免密登录原理及实现
因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...
最新文章
- TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
- 中国污水处理行投资建议与运营价值分析报告2022-2027年
- IOS将字符串转换为日期时间格式
- C++基础部分_C++文件操作_文件的读取操作---C++语言工作笔记077
- 谍照曝光!特斯拉正在测试完全自动驾驶
- spring boot之http,页面状态跳转与异常处理实战
- 大数据可视化有哪些分析步骤
- C# 线程同步 信号量 Semaphore
- CarMaker与NS3联合仿真平台--安装
- Win10重装系统后进行初始化
- js登录设置cookie
- 《c语言 从入门到放弃》,从入门到放弃的?单片机这样做很容易!
- adc0832工作原理详解_ADC0832内部原理
- 913_emacs中使用restart-emacs
- RabbitMQ系列——Rabbitmq Plugin configuration unchanged. 解决方案
- IOS 七种手势详解(动图+Demo下载)
- C语言编程核心要点,男人看了沉默,女人看了流泪
- egg-socket-io的demo案例
- Android 预装APK
- pscp 项目上传中文文件乱码问题