ssh远程免密登录

server/2024/12/23 9:05:20/

ssh远程连接分为五个阶段

  1. 版本号协商阶段
  2. 密钥和算法协商阶段
  3. 认证阶段
  4. 会话请求阶段
  5. 交互会话阶段

而上图的SessionKey即是在阶段2:密钥和算法协商阶段,服务器端和客户端利用DH交换(Diffie-Hellman Exchange)算法、主机密钥对等参数,生成的会话密钥

远程免密登录需要在客户端生成一对密钥,将公钥上传至服务器,即可完成免密登录

准备

客户端:192.168.220.220
服务器:192.168.220.131

方法一

#客户端
[root@localhost ~]# ssh-keygen -t rsa -b 2048 -f /root/.ssh/id_rsa -P ""
#-t 生成密钥算法 -b 密钥大小 -f 生成文件路径 -P 密码
Generating public/private rsa key pair.
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:ZMk7stzSEooEsLPQj1HDwludO02dccu0gHQ5liCIo4g root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|.. ooo.oo++=o    |
|.o=.+.ooooB= o   |
|B.o=   +=. .+    |
|E+.+  oo..       |
|. o . o.S        |
| . . o * .       |
|  . . = o        |
|       o         |
|                 |
+----[SHA256]-----+
[root@localhost ~]# ll /root/.ssh/
total 16
-rw-------  1 root root 1831 May  6 17:07 id_rsa
-rw-r--r--  1 root root  408 May  6 17:07 id_rsa.pub
-rw-------. 1 root root 1686 Apr 18 11:48 known_hosts
-rw-------. 1 root root  940 Apr 18 11:48 known_hosts.old
[root@localhost ~]# scp /root/.ssh/id_rsa.pub 192.168.220.131:/root/.ssh/
root@192.168.220.131's password: 
id_rsa.pub                                                                                                                                                                      100%  408   854.8KB/s   00:00    
[root@localhost ~]# ssh 192.168.220.131
#服务端
[root@rhce ~]# cd /root/.ssh/
[root@rhce .ssh]# cat id_rsa.pub >> authorized_keys
#验证
[root@localhost ~]# ssh 192.168.220.131
Activate the web console with: systemctl enable --now cockpit.socketRegister this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
Last login: Mon May  6 16:31:16 2024 from 192.168.220.131

方法二

#方法二全在客户端上操作
[root@localhost .ssh]# ssh-keygen -t rsa -b 2048 -f /root/.ssh/id_rsa -P "" -q
#-t 生成密钥算法 -b 密钥大小 -f 生成文件路径 -P 密码 -q 没有反馈
[root@localhost .ssh]# ll
total 16
-rw-------  1 root root 1831 May  6 17:28 id_rsa
-rw-r--r--  1 root root  408 May  6 17:28 id_rsa.pub
-rw-------. 1 root root 1686 Apr 18 11:48 known_hosts
-rw-------. 1 root root  940 Apr 18 11:48 known_hosts.old
[root@localhost .ssh]# ssh-copy-id root@192.168.220.131
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/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.220.131's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'root@192.168.220.131'"
and check to make sure that only the key(s) you wanted were added.[root@localhost .ssh]# ssh 192.168.220.131
Activate the web console with: systemctl enable --now cockpit.socketRegister this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
Last login: Mon May  6 17:09:54 2024 from 192.168.220.220


http://www.ppmy.cn/server/39362.html

相关文章

安装nvm切换多个nodejs

今天实习,用到了公司的老项目vue2的,需要更换nodejs版本 我想直接安装一个16版本的,然后自己在webstrom中配置一下exe文件就可以了。 然而第一步就不行,在安装另一版本中显示 然后博主在这里介绍一下怎么使用nvm可以快速切换node…

安卓SELinux策略

SELinux策略语言–类型强制(编写TE规则) selinux权限说明及问题解决 Selinux篇3 -TE规则 Android中SeLinux权限 .te文件编写 Android 系统添加SELinux权限 [SeLinux]audit2allow安装与使用 SELinux规则添加进阶

通用产品发布解决方案(家居分类表设计以及renren代码生成器的使用)

文章目录 1.商品分类表设计1.需求分析2.数据库表设计1.数据库sunliving_commodity,商品分类表commodity_category2.测试数据 2.代码生成器生成crud1.解压到sunliving下并聚合管理1.解压2.修改sunliving的pom.xml进行聚合管理3.刷新maven报错 parent.relativePath4.将…

2011NOIP普及组真题 4. 表达式的值

线上OJ: 一本通::http://ybt.ssoier.cn:8088/problem_show.php?pid1956 核心思想1: 1、本题考的是表达式树。完整的方法可以先建树,然后再计算的方式。 2、但是本题涉及的运算符并不多,故也可以用栈来直接模拟计算。…

LeetCode hot100-31-G

25. K 个一组翻转链表给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的…

C++反汇编——多态,面试题01

文章目录 1.C的三大特性1.1封装1.2继承1.3多态1.3.1 虚函数1.3.2 多态代码反汇编分析。反汇编分析1——基类指针指向子类对象,构造过程。反汇编分析2——基类指针指向子类对象,调用虚函数getPrice()过程。反汇编分析3——基类对象,调用虚函数…

C++ 类和对象:面向对象编程基础

目录标题 1. 什么是类?2. 什么是对象?3. 如何定义一个类?4. 如何创建对象?5. 类的构造函数6. 类的析构函数7. 数据封装和访问修饰符8. 示例:一个简单的BankAccount类9. 使用g编译10. 再来一个简单的C程序11. 定义书籍类…

Linux--IIC驱动编程实验

对于 I2C 主机驱动,一旦编写完成就不需要再做修改,其他的 I2C 设备直接调用主机驱动提供的 API 函数完成读写操作即可。这个正好符合 Linux 的驱动分离与分层的思想,因此 Linux内核也将 I2C 驱动分为两部分: ①、 I2C 总…