当前位置: 首页 > news >正文

Linux SSH 基于密钥交换的自动登录原理简介及配置说明

目录

一、协商交互过程

二、Linux客户端演示登录:

三、Windows环境Xshell登录演示:

总结


一、协商交互过程

  1. 客户端向目标服务器发送登录请求。在SSH 服务启用了证书验证登录方式后,会优先通过证书验证方式进行登录验证。

  2. 目标服务器根据 SSH 服务配置,在用户对应目录及文件中读取到有效的公钥信息。

  3. 目标服务器生成一串随机数,然后使用相应的公钥对其加密。

  4. 目标服务器将加密后的密文发回客户端。

  5. 客户端使用默认目录或 -i 参数指定的私钥尝试解密。

  6. 如果解密失败,则会继续尝试密码验证等其它方式进行登录校验。如果解密成功,则将解密后的原文信息重新发送给目标服务器。意思类似于:“看,这是这段话的原文。我能读懂发过来的密文,我拥有服务器的控制权,请让我登录。”

  7. 目标服务器对客户端返回的信息进行比对。如果比对成功,则表示认证成功,客户端可以登录。如果对比失败,则表示认证失败,则会继续尝试密码验证等其它方式进行登录校验。

证书校验交互登录流程示意图所示:

二、Linux客户端演示登录:

1、在客户端本地生成一对儿密钥:

 ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

​ ​ | 参数 | 含义 | 解释 |

| ssh-keygen | 密钥生成工具 | OpenSSH 套件中用于创建认证密钥对的程序。 |

| -t rsa | 指定密钥类型| -t 是 type 的缩写。rsa是一种非对称加密算法。这是最常用和兼容性最好的算法之一(其他还有 ed25519, ecdsa)。 |

| -P ''| 设置私钥的密码(Passphrase) | -P后面跟一个密码字符串。''(两个单引号)表示空密码**。这意味着生成的私钥文件**没有密码保护**。这是一个安全权衡:方便自动化脚本,但降低了密钥本身的安全性。如果密钥文件泄露,任何人都可以直接使用它。|

| -f /root/.ssh/id_rsa| 指定密钥文件的保存路径和文件名| -f 是 file 的缩写。这里指定将私钥保存为 /root/.ssh/id_rsa,公钥则会自动保存在同名目录下的同名文件加上 .pub 后缀,即 /root/.ssh/id_rsa.pub。 | ​

2、在客户端,将公钥复制到要登录的远程主机的某用户的家目录下的特定文件中:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.10  

3、测试登录:

 ssh root@192.168.10.10

三、Windows环境Xshell登录演示:

  1. 打开Xshell程序。

  2. 单击 工具 > 用户密钥管理者 ,再点击 生成 。

  3. 在打开的密钥创建向导中,选择默认的 RSA 密钥算法及密钥长度(默认 2048 位)后,点击 下一步 。

  4. 程序生成密钥对后,点击 下一步。

  5. 如前面所述,密钥加密密码留空:

  6. 复制生成的公钥到目标主机的/root/.ssh/authorized_keys 尾部追加

  7. 复制完成后返回Xshell,输入目标主机IP,用户身份认证选择公钥认证:

点击“确定” 就能连接上了。

总结

ssh公钥和私朗登录

是登录一种非对称加密技术的一个认证,

将公钥部署到目标服务器上,本地使用对应的私钥验证身份,无需输入密码即可安全的登录

linux和linux之间
需要ssh-keygen创建密钥对→把公钥发到目标机器上→ssh-copy-id 公钥文件拷贝到目标机器 最后就能登录了

windows和linux之间
windows首先创建密钥对 →把公钥发到目标机器上→把公钥文件拷贝到目标机器 最后就能登录了

 

http://www.dtcms.com/a/351921.html

相关文章:

  • 数据结构第7章 查找(竟成)
  • 在 OpenLayers 中实现自定义右键菜单:基于 vue3-context-menu 的完整指南
  • 河南河北到底以哪条河为界?是黄河还是漳河呢?
  • 你真的了解操作系统吗?
  • 低代码开发实践:快速构建企业采购审批流程的技术方案
  • 无线网络中的Duration字段计算:原理、机制与实现
  • php内存缓存插件yac的安装配置--平替apcu,多进程共享内存
  • 均胜电子上半年毛利率持续提升,汽车智能化与机器人业务多点突破
  • sed流编辑:从ed到现代文本处理的进化
  • 第二篇:MySQL初始化配置与性能优化
  • 汽车零部件软件迭代开发指南
  • Spring Boot -Mybatis的使用和基础
  • 数字孪生:工厂优化的下一个前沿领域
  • GIS开源库汇总
  • Linux笔记10——shell编程基础-4
  • Web安全开发指导规范文档V1.0
  • 基于SpringBoot的美剧观影网站【2026最新】
  • WebSocket 技术详解:协议原理、握手到生产落地的一站式实践
  • AI——提示词工程认识
  • 探索高效随机地址生成器 AddressGen.top
  • STM32——Uinx时间戳+BKP+RTC实时时钟
  • Ubuntu 操作系统
  • 高速CANFD通讯接口芯片ASM1042性能分析与5Mbps多节点测验
  • 进程管理详解
  • 【ElasticSearch】客户端选择
  • Sigma规则集网络安全应用(Elasticsearch、es日志安全检查、SOC、自定义规则)
  • Linux修改服务器时区
  • S2B2B系统哪个好,商淘云、数商云、金蝶云苍穹供应链批发哪个比较靠谱
  • 模型微调训练中超长文本训练存在的问题
  • 机器视觉学习-day02-灰度化实验