centos之间如何实现免密ssh登陆
在公司产品中,管理平台和下面的主机很多时候都要求免密,免密的逻辑到底是怎么样的呢?今天就简单看看!
首先创建两台虚机,正常情况下ssh登陆对方是需要密码的

先通过ssh-keygen生成一对秘钥
[root@test-20 ~]# ssh-keygen
Generating public/private rsa key pair. #通过RSA加密算法生成公钥/私钥密钥对
Enter file in which to save the key (/root/.ssh/id_rsa): #保存目录
Created directory '/root/.ssh'. #生成对应目录
Enter passphrase (empty for no passphrase): #密码短语(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:
cc:21:36:e7:47:99:1a:19:5e:bd:f4:1d:28:52:78:e1 root@test-20
The key's randomart image is:
+--[ RSA 2048]----+
| . ++. . |
| . *.=o. . |
| + * *E.o ..|
| . B = . . .|
| S . |
| . |
| |
| |
| |
+-----------------+
[root@test-20 ~]#
进入对应目录可查看到相应文件
[root@test-20 ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .ssh .tcshrc
[root@test-20 ~]# cd .ssh/
[root@test-20 .ssh]# ll -a
total 8
drwx------. 2 root root 38 Oct 18 22:05 .
dr-xr-x---. 3 root root 147 Oct 18 22:05 ..
-rw-------. 1 root root 1679 Oct 18 22:05 id_rsa
-rw-r--r--. 1 root root 394 Oct 18 22:05 id_rsa.pub
[root@test-20 .ssh]#
需要注意的是:如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
将生成的公钥文件拷贝至客户端虚机上
[root@test-20 .ssh]# scp id_rsa.pub root@10.0.0.21:/root/.ssh/id_rsa.10.0.0.20.pub
The authenticity of host '10.0.0.21 (10.0.0.21)' can't be established.
ECDSA key fingerprint is f3:e7:b5:d7:40:2f:e3:5f:f9:02:1d:7d:f7:59:a1:46.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.21' (ECDSA) to the list of known hosts.
root@10.0.0.21's password:
id_rsa.pub 100% 394 0.4KB/s 00:00
[root@test-20 .ssh]#
[root@test-21 .ssh]# ll
total 20
-rw-------. 1 root root 394 Oct 18 22:29 authorized_keys
-rw-------. 1 root root 1679 Oct 18 22:15 id_rsa
-rw-r--r--. 1 root root 394 Oct 18 22:24 id_rsa.10.0.0.20.pub #我是把20的公钥文件拷贝过来,然后添加到authorized_keys中,注意修改权限;
尝试发现还是不行,检查发现虚机的防火墙没有关,关闭后,正常
[root@test-21 .ssh]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
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: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:69:12:24 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.21/24 brd 10.0.0.255 scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe69:1224/64 scope link
valid_lft forever preferred_lft forever
[root@test-21 .ssh]# ssh 10.0.0.20
Last login: Sun Oct 18 22:37:50 2020 from 10.0.0.21
[root@test-20 ~]#
同时会在该目录下增加known_hosts文件,查看发现即是免认证的用户
[root@test-20 .ssh]# cat known_hosts
10.0.0.21 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNu0JBtSYifFX2fTaNb1EbE7ibXxikHM594PRpt+BVXfFm6pd1QJj6/mohxM698giGPdgBrucYDO4u3wEiSxzJ0=
[root@test-20 .ssh]#
centos之间如何实现免密ssh登陆的更多相关文章
- Linux中配置主机之间的免密ssh登陆
假如 A 要登陆 B在A上操作:1.首先生成密钥对 ssh-keygen (提示时,直接回车即可) 2.再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中 ssh-copy- ...
- 服务器之间免密码ssh登陆
配置服务器f1(192.168.1.1)与服务器f2(192.168.1.2)之间免密码ssh登陆 一.首先,配置服务器主机名为f1.f2 1.更改/etc/sysconfig下的network文件, ...
- SSH免密远程登陆及详解
SSH(安全外壳协议):为建立在应用层和传输层基础上的安全协议,ssh是目前较为可靠,专门为远程登陆,会话和其他网络服务提供安全 协议.利用ssh协议可以有效的防止远程管理过程中的信息泄露问题,传统的 ...
- docker笔记--容器之间如何互相免密?
在使用docker搭建hadoop分布式集群的时候,需要各容器之间相互免密登录,传统的方式我想或许会很麻烦,特别是当容器达到几百上千台的时候,这时就需要有一种方式来更简单实现免密登录了. 环境介绍: ...
- Hadoop集群配置免密SSH登录方法
Hadoop集群包含1个主节点和3个从节点,需要实现各节点之间的免密码登录,下面介绍具体的实现方法. 一.Hadoop集群环境 二.免密登录原理 每台主机authorized_keys文件里面包含的主 ...
- Linux免密远程登陆
上一节讲到伪分布式部署,启动后需要输入4次密码,停止服务后也要输入4次密码.本节记录免密登陆原理和实践 假设有2台服务器(A和B)(这是配置原理) 1)A需要远程登录B服务器,那么A就要创建密钥对(私 ...
- 批量免密ssh
参考连接:https://www.cnblogs.com/xiaoyuxixi/p/11413355.html 适用于所有密码都一样的情况下 应用场景: 在应用ansible的实际情况中,有一个很现实 ...
- windows下配置VSCode免密SSH连接Linux机器
先决条件 Windows下安装openssh软件(win10自带,可以不用搞) 从官网下载最新版本默认安装即可 VSCode安装插件 VSCode官方市场获取两个插件:"Remote - S ...
- MacOS下免密码ssh登陆
由于配置过程中需要频繁的进行ssh连接到开发服务器执行命令以及通过scp命令向服务器拷贝文件等依赖ssh连接的操作.所以,配置本地环境跟服务器之间的ssh免密码连接可以有效的提升工作效率. ...
随机推荐
- 昨天还在for循环里写加号拼接字符串的那个同事,今天已经不在了
引言 都说 StringBuilder 在处理字符串拼接上效率要强于 String,但有时候我们的理解可能会存在一定的偏差.最近我在测试数据导入效率的时候就发现我以前对 StringBuilder 的 ...
- json与字典的相互转化
json格式初学者如果在编辑器中自己编写一个json格式,可能会出错:虽然json格式本质上也是字符串,但是json格式要求,要使用双引号将key和value括起来: 如果要将上面的字符串格式和jso ...
- 点、像素、分辨率、PPI、DPI等
屏幕尺寸 屏幕尺寸是屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米. pixel 像素,它是组成图片的最小单元,代表红绿蓝等各种颜色. dot 点,它是屏幕发光.cmos感光的最小物理单元,水平 ...
- springmvc与mybatis整合时 java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 异常
今天在整合springmvc与mybatis时,启动服务器遇到这样一个问题, by: java.lang.IllegalArgumentException: Property 'sqlSessionF ...
- 摄像头Sensor 图像格式
以0V7725为例: 顺便介绍一下0V7725的主要管脚,管脚定义能体现功能,体现使用方法.
- Spring Cloud系列(四):Eureka源码解析之客户端
一.自动装配 1.根据自动装配原理(详见:Spring Boot系列(二):Spring Boot自动装配原理解析),找到spring-cloud-netflix-eureka-client.jar的 ...
- 07 Sublime Text3常用快捷键
通用常用类(General) ↑↓←→:上下左右移动光标,注意不是不是 KJHL ! Alt:调出菜单 Ctrl + Shift + P:调出命令板(Command Palette) Ctrl + ` ...
- GAN网络之入门教程(四)之基于DCGAN动漫头像生成
目录 使用前准备 数据集 定义参数 构建网络 构建G网络 构建D网络 构建GAN网络 关于GAN的小trick 训练 总结 参考 这一篇博客以代码为主,主要是来介绍如果使用keras构建一个DCGAN ...
- spring-boot-route(十二)整合redis做为缓存
redis简介 redis作为一种非关系型数据库,读写非常快,应用十分广泛,它采用key-value的形式存储数据,value常用的五大数据类型有string(字符串),list(链表),set(集合 ...
- Linux基础入门 vim常用命令详解
介绍 vim是一个文本编辑程序 没有菜单,只有命令,且命令繁多 命令行模式下相关命令 移动光标 h: ← 左移 l: → 右移 j: ↓ 下移 k: ↑ 上移 gg: 光标移动文件 ...