linux之间的免密通信原来是这么的简单

linux之间的免密通信原来是这么的简单

何为免密通信,说的大白话就是,我连接你的服务器不需要密码,哈哈,就是所谓的免密通信
今天小编也不讲免密的基本原理了哈,原理的话,百度里面有好多
小编的主要目的呢是,大概的说下怎么实现密码通信

大概怎么实现免密通信,为小编的另一个入侵redis并实现免密通信(还没发布),来打下一个基础。废话不多说,那么我们开始吧

环境

服务器用途ip系统
服务器A生成公钥,免密连接服务器B192.168.196.128centos7
服务器B接受A服务器的公钥,让A服务器免密连接192.168.196.129centos7

何为免密通信

密码通信就是A服务器连接B服务器的时候不需要输入密码,简单画个图吧,如下
在这里插入图片描述### 没有免密的效果

[root@bogon ~]# ssh root@192.168.196.129
The authenticity of host '192.168.196.129 (192.168.196.129)' can't be established.
ECDSA key fingerprint is SHA256:o98cQWSKlxj3FYKpIcckFsAsb3+hRJ9w+DQThSbUUks.
ECDSA key fingerprint is MD5:9d:ee:d4:8e:1d:02:be:c9:ba:5f:15:51:99:3a:ed:97.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.196.129' (ECDSA) to the list of known hosts.
root@192.168.196.129's password:
Last login: Sun Nov 26 16:01:19 2023 from 192.168.196.1
[root@bogon ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e7:5f:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.196.129/24 brd 192.168.196.255 scope global noprefixroute dynamic ens33
       valid_lft 1138sec preferred_lft 1138sec
    inet6 fe80::fe45:3b37:69fd:9dcd/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::12ce:59d6:ca98:3ebb/64 scope link tentative noprefixroute dadfailed
       valid_lft forever preferred_lft forever

在这里插入图片描述

如何实现免密通信

公钥和私钥的认识

每台服务器上面都有两个钥匙,一个是公钥也就是pub(公共的),一个是私钥,这个私钥可是非常主要的哈,这个私钥可以打开公钥的钥匙,简单这样理解吧。
或者这样说,哪个服务器上面有我的公钥,我就可以拿着自己的私钥就连接上他,还是免密的呦,这个就是免密通信的最终实现方法

在这里插入图片描述那么这些公钥怎么生成的呢,在哪个目录下面呢,接着往下看

生成公钥和私钥

生成自己的公钥


[root@bogon ~]# ssh-keygen -t dsa   ##下面一路回车就行a'S
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
SHA256:/dQIhle46c4ZbbwP/G6Ehobq+sNj7JBo9sTtS63V7uo root@bogon
The key's randomart image is:
+---[DSA 1024]----+
|           ..    |
|         ...     |
|        . +o     |
|         +o. o   |
|        So.+o..  |
|   o o ...=+* .  |
|  + =oo.o+.=+o   |
| o o +Bo .+ .o.  |
|    o*B=Eoo  ++  |
+----[SHA256]-----+
您在 /var/spool/mail/root 中有新邮件
[root@bogon ~]#

在这里插入图片描述

实现免密

方法1,命令推送公钥

使用ssh-copy-id root@192.168.196.129来实现推送公钥

[root@bogon ~]# ssh-copy-id root@192.168.196.129
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_dsa.pub"
The authenticity of host '192.168.196.129 (192.168.196.129)' can't be established.
ECDSA key fingerprint is SHA256:o98cQWSKlxj3FYKpIcckFsAsb3+hRJ9w+DQThSbUUks.
ECDSA key fingerprint is MD5:9d:ee:d4:8e:1d:02:be:c9:ba:5f:15:51:99:3a:ed:97.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.196.129's password:
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.196.129'"
and check to make sure that only the key(s) you wanted were added.

在这里插入图片描述

方法2 直接粘贴复制公钥

说白了就是想办法将自己的公钥放到对面服务器的/root/.ssh/authorized_keys这个里面,这个文件里面存放着所有可以免密登录这台服务器的公钥

A机器上的公钥
在这里插入图片描述B机器上的authorized_keys
在这里插入图片描述大家不知道发现了什么密码了没有
其实很简单,就是把A服务器的公钥追加到B服务器的authorized_keys文件里面就行,什么,什么是追加,好吧,就是在authorized_keys文件内容的下面新起一行,输入A服务器的公钥就行。

小编在管理大批量服务器的时候就是这样复制过去的,小编知道可以,这边就不演示了,还请大家自己测试下吧

结束语

小编没有介绍的那么细致,当然小编也只是为了配合小编将要写的一个入侵redis并实现免密登录被入侵服务的一个文档,当然文章还没有写,不过马上就要写了。

还有就是上面的公钥,如果你复制到了你的服务器里面,那小编就可以用小编自己的私钥来实现免密连接你了哈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/190567.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1.1 半加器

输入1输入2结果进位0000101001101101 半加器: 实现1位的加法 根据结果可知输入1与输入2相加结果 -> 符合 异或门进位 -> 符合 与门最终要么有结果要么有进位,不存在即有结果也有进位 异或门的实现也可以由基本的3个 “与或非” 门实现 与:& , 或:| , 非:! 用这3个…

开通橱窗还能开抖店吗?怎么开通?一篇详解!

我是电商珠珠 开通商品橱窗之后还能开抖店吗&#xff1f;商品橱窗和抖音小店可以同时开吗&#xff1f; 一部分人最初的时候&#xff0c;都觉得直播带货很火&#xff0c;所以就自己去买粉丝或是发视频积攒粉丝&#xff0c;等粉丝够了发现&#xff0c;好像和当初想的不太一样&a…

2017年五一杯数学建模A题公交车排班问题解题全过程文档及程序

2017年五一杯数学建模 A题 公交车排班问题 原题再现 随着徐州市经济的快速发展&#xff0c;公交车系统对于人们的出行扮演着越来越重要的角色。在公交车资源有限的情况下&#xff0c;合理的编排公交车的行车计划成为公交公司亟待解决的问题。以下给出公交车排班问题中的部分名…

Java实现-数据结构 2.时间和空间复杂度

.如何衡量一个算法的好坏&#xff1a;时间复杂度和空间复杂度 算法效率分为时间效率和空间效率&#xff0c;时间效率称为时间复杂度&#xff0c;空间效率称为空间复杂度 时间复杂度 算法的时间复杂度是一个数学函数&#xff0c;它描述了算法的运行时间&#xff0c;一个算法执…

什么是客户自助服务?综合指南献上~

《哈佛商业评论》曾报道过&#xff0c;81%的消费者在找客服之前会自己先去找办法解决。 如今&#xff0c;客户希望得到更快的响应。他们不想排队去等信息。他们想要的只是一个更快、更可靠的自助服务解决方案。作为企业&#xff0c;应该注意到他们的期望。企业需要做的就是通过…

2017年五一杯数学建模C题宜居城市问题值解题全过程文档及程序

2017年五一杯数学建模 C题 宜居城市问题 原题再现 城市宜居性是当前城市科学研究领域的热点议题之一&#xff0c;也是政府和城市居民密切关注的焦点。建设宜居城市已成为现阶段我国城市发展的重要目标,对提升城市居民生活质量、完善城市功能和提高城市运行效率具有重要意义。…

2009年iMac装64位windows7及win10

2009年iMac装64位windows7及win10 Boot Camp没有“创建 Windows7 或更高版本的安装磁盘”选项 安装完Mac OS系统后&#xff0c;要制作Windows7安装U盘时才发现&#xff0c;Boot Camp没有“创建 Windows7 或更高版本的安装磁盘”选项&#xff0c;搜索到文章&#xff1a;修改Boo…

C语言——深入理解指针(2)

目录 1. 数组名 2. 指针访问数组 3. 一维数组的传参&#xff08;本质&#xff09; 4. 冒泡排序 5. 二级指针 6. 指针数组&#xff08;指针的数组&#xff09; 7. 指针数组模拟二维数组 1. 数组名 在之前的代码中我们使用指针访问过数组的内容。 int arr[10] {1,2,3,4…

xxljob学习笔记01(小滴课堂)

分布式调度xxl-job源码部署和数据库建立&#xff1a; 在idea中打开安装包&#xff1a; 创建数据库&#xff1a; 建表&#xff1a; 在项目里&#xff1a; 在navicat里运行语句即可&#xff1a; 修改数据库地址和用户名&#xff0c;密码&#xff1a; 配置令牌&#xff0c;不然谁…

Linux环境下自动化创建大量的账号

参考《鸟哥的Linux私房菜基础篇第四版》13.7.2节微调而成&#xff1a; 下面脚本的目的是为服务器的管理员自动化创建大量的账号&#xff0c;节省生命。 #!/bin/bash # This shell script will create amount of Linux login accounts for you. # 1. check the "accounta…

探索计算机视觉:深度学习与图像识别的融合

探索计算机视觉&#xff1a;深度学习与图像识别的融合 摘 要&#xff1a; 本文将探讨计算机视觉领域中的深度学习技术&#xff0c;并重点关注图像识别方面的应用。我们将介绍卷积神经网络&#xff08;CNN&#xff09;的原理、常用的图像数据集以及图像识别的实际应用场景&…

python环境搭建-yolo代码跑通-呕心沥血制作(告别报错no module named torch)

安装软件 安装过的可以查看有没有添加环境变量 好的! 我们发车! 如果你想方便快捷的跑通大型项目,那么必须安装以下两个软件: 1.pycharm2.anaconda对应作用: pycharm:专门用来跑通python项目的软件,相当于一个编辑器,可以debug调试,可以接受远程链接调试!anaconda:专…

【JavaEE初阶】浅谈进程

✏️✏️✏️今天正式进入JavaEE初阶的学习&#xff0c;给大家分享一下关于进程的一些基础知识。了解这部分内容&#xff0c;只是为后续多线程编程打好基础&#xff0c;因此进程部分的知识&#xff0c;不需要了解更加细节的内容。 清风的CSDN博客 &#x1f61b;&#x1f61b;&a…

Android之高级UI

系统ViewGroup原理解析 常见的布局容器: FrameLayout, LinearLayout,RelativeLayoout,GridLayout 后起之秀&#xff1a;ConstraintLayout,CoordinateLayout Linearlayout Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {if (mOrientation …

OpenGL 自学总结

前言&#xff1a; 本人是工作后才接触到的OpenGL&#xff0c;大学找工作的时候其实比较着急&#xff0c;就想着尽快有个着落。工作后才发现自己的兴趣点。同时也能感觉到自己当前的工作有一点温水煮青蛙的意思&#xff0c;很担心自己往后能力跟不上年龄的增长。因此想在工作之余…

【C++】类型转换 ② ( C++ 静态类型转换 static_cast | C 语言隐式转换弊端 | 代码示例 )

文章目录 一、静态类型转换 static_cast1、C 静态类型转换 static_cast2、C 语言隐式转换弊端3、代码示例 在之前写过一篇 C 类型转换的博客 【C 语言】类型转换 ( 转换操作符 | const_cast | static_cast | dynamic_cast | reinterpret_cast | 字符串转换 ) , 简单介绍了 C 类…

Linux系统的文件权限

Linux系统权限的相关概念与理解 (xshell下进行演示) 文章目录&#xff1a; 1:linux系统下两种用户 超级用户(root)与普通用户(非root)的理解root与非root用户之间切换的指令非root用户之间进行切换的指令操作 2:linux文件权限管理 文件访问者的介绍文件的类型与文件的访问权…

openpnp - 自动换刀设置 - 使用克隆功能降低风险

文章目录 openpnp - 自动换刀设置 - 使用克隆功能降低风险概述笔记需要注意的地方将一个做好的吸嘴作为这排其他吸嘴的模板END openpnp - 自动换刀设置 - 使用克隆功能降低风险 概述 自动换刀设置时, 很危险, 动不动就撞刀. 如履薄冰啊:( 看到openpnp在自动换刀时, 有个克隆功…

【Vue】记事本

上一篇&#xff1a;Vue的指令 https://blog.csdn.net/m0_67930426/article/details/134599378?spm1001.2014.3001.5501 本篇所需指令&#xff1a; v- for v-model v-on v-show 目录 删除功能 添加功能 统计功能 清空功能 v-show 删除功能 <!DOCTYPE html> …

系列十九、Spring实例化bean的方式

一、概述 所谓实例化bean&#xff0c;大白话讲就是Spring如何把这一个个的普通的Java对象创建为Spring bean的。 二、方式 Spring中实例化bean常用的有以下四种&#xff0c;即&#xff1a; ① 构造器方式&#xff1b; ② 静态工厂方式&#xff1b; ③ 实例工厂方式&#xff1b;…