首页 > 其他分享 >SSH两种登录方式(公私钥)解析

SSH两种登录方式(公私钥)解析

时间:2023-10-24 20:24:36浏览次数:29  
标签:公钥 登录 公私 ssh SSH 服务器 解析 服务端 客户端

SSH登录方式主要分为两种

1. 用户名密码验证方式

 

 说明:

  (1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户;

  (2) 用户会根据服务器发来的公钥对密码进行加密;

  (3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。

2. 基于密钥的登录方式

说明:

  (1) 首先在客户端生成一对密钥(ssh-keygen);

  (2) 并将客户端的公钥ssh-copy-id 拷贝到服务端;

  (3) 当客户端再次发送一个连接请求,包括ip、用户名;

  (4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:qwer;

  (5) 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端;

  (6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;

  (7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。

 

标签:公钥,登录,公私,ssh,SSH,服务器,解析,服务端,客户端
From: https://www.cnblogs.com/blogtech/p/17785661.html

相关文章

  • 音视频常用专业名词解析
    来源:来自Twitter-X2Rtc随着移动互联网的普及,实时音视频技术已经在越来越多的场景下发挥重要作用,已经不再局限于IM中的实时视频聊天、实时视频会议这种功能,在远程医疗、远程教育、智能家居等等场景也司空见惯。虽然实时音视频技术的应用越来越普及,但对于程序员来说,这方面的技术门......
  • spring源码解析---spring-core(一)
    https://github.com/seaswalkerhttps://github.com/seaswalker/Spring使用版本spring4.2.2或者4.1.1基本本部分从最基本的Spring开始。配置文件:<?xmlversion="1.0"encoding......
  • 配置SSH连接Git教程 /TortoiseGit SSH配置
    2检查现有的ssh密钥Windows打开GitBash,Linux下打开终端,输入: $ls-al~/.ssh如果你看到以下输出,那么说明你已经有ssh密钥(以.pub结尾的文件): $ls-al~/.ssh total26 drwxr-xr-x11971210Mar3122:29./ drwxr-xr-x11971210Apr......
  • python 解析User-Agent
    需求:从User-Agent中获取浏览器信息和操作系统信息使用第三方库ua-parser安装pipinstallua-parser使用fromua_parser.user_agent_parserimportParse#解析user_agentparsed_user_agent=Parse(user_agent)print(parsed_user_agent)返回数据{"string":"Mozill......
  • .NET 7新特性全面解析
    在2021年11月8日发布的.NET6当前已经广泛使用。微软团队已经开始着手为.NET7制定计划和新特性。本文将为您全面解析.NET7的新特性,并提供源代码示例。1.更好的性能.NET7将继续提高运行时性能,改进JIT编译器,减少内存分配,优化GC,以及提高ASP.NETCore和EntityFram......
  • 【AGC】崩溃服务符号表不能解析成可阅读代码问题
    ​【关键字】AGC、崩溃服务、符号表 【问题描述】有开发者反馈开通了崩溃服务,然后上传了AppStore版本的iOS符号表,而且也是根据文档步骤上传的。https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-crash-mapping-ios-0000001055140......
  • json的解析和生成(两种方式对比)(二)
    一:解析JSON文件       解析JSON文件用到两种方法都可以,即两种类库,都可以     用到的类库      JavaScriptSerializer类,内置于.NET中用于解析的生成JSON文件      JSON.NET库,第三方加载包    第一种用:NET自带的JavaScriptSerializer     ......
  • 深入解析i++和++i的区别及性能影响
    在我们编写代码时,经常需要对变量进行自增操作。这种情况下,我们通常会用到两种常见的操作符:i++和++i。最近在阅读博客时,我偶然看到了有关i++和++i性能的讨论。之前我一直在使用它们,但从未从性能的角度考虑过,这让我突然产生了兴趣。尽管它们看起来相似,但它们之间存在微妙而重要的区别......
  • 文件stm32f4xx.h 解析
    本文简短不看版:这个是头文件的头文件这个文件是个头文件,它又包含了两个头文件(通过在Keil魔法棒工具定义两个宏STM32F407xx和USE_HAL_DRIVER 开关)#include"stm32f407.h" //某一特定F4型号芯片寄存器定义#include"stm32f4xx_hal.h"//HAL库函数(HAL库编程的API总集合)......
  • spring data jpa 使用原生sql查询数据库 原生sql中有in关键字 该如何传参?直接传List集
    springdatajpa使用原生sql查询数据库原生sql中有in关键字该如何传参?直接传List集合就能找到数据,解析List集合交给springdatajpa框架去做遇到问题?第一次写的时候in关键字后面传的是将List集合转化为一个这样的字符串,"'123','23','23'" @Query(nativeQuery=true,......