首页 > 其他分享 >非对称加密的经典案例-ssh密码登录/免密登录

非对称加密的经典案例-ssh密码登录/免密登录

时间:2024-02-13 22:55:04浏览次数:24  
标签:免密 私钥 登录 公钥 ssh 加密 密钥

我在给云服务器配置本地电脑免密登录的过程中,学习了一下SSH免密登录的实现原理。
对SSH中输入密码登录和免密登录的原理根据自己的理解做了如下笔记,分享给大家希望能有所帮助。

1. 对称加密

对称加密是加密过程中只有一个密钥,加密解密都只用这个密钥。
加密通讯至少要有一对通讯对象,对称加密的问题主要体现在如何将这个唯一的密钥从生成密钥的地方安全地传输到另一还未持有密钥的一方,即经典的“先有鸡还是先有蛋的问题”,很难解决这个问题啊(流汗...)。

2. 非对称加密

非对称加密是有两个密钥,一个用来加密,一个用来解密。
针对于对称加密它在有可能在传输密钥的过程中泄露密钥的问题,非对称加密方法直接认为,我在传输密钥的时候肯定被别人偷偷地监听了,所以我传输给对方的密钥我默认叫它公钥;另一个密钥我不发出去,就意味着没人能得到我的另一个密钥(其实要是你自己的主机被破解了或者被别人登录了,照样可以从你的文件系统里看到你的私钥,由此引申出另一个对私钥进行进一步加密的方法),称为私钥。

非对称加密可以分为两种,分别是:
公钥加密,私钥解密: 既然我用私钥才能解密,说明我不想让别人看到我传输的是什么,一般用来传输密码,或者不想让别人知道的东西。
私钥加密,公钥解密: 既然我用私钥才能加密,说明我可以让别人看到我传输的是什么,比如我要传输ip地址或者证书,我可以让你看到我要发的东西,但我主要要防止你伪造,骗人。

3. SSH免密登录中的非对称加密

3.1 SSH输密码登录

  • SSH服务器首先自己生成一对公钥和私钥。
  • SSH服务器将公钥传输给拟与自己建立ssh连接的客户端。
  • 客户端通过公钥对自己输入的密码进行加密,并将加密后的字符串传输给服务端。
  • 服务端用私钥进行解码校验是否是正确的密码。
  • 完成输密码登录的过程。

3.2 SSH免密登录

  • 需要SSH登录远程服务端的客户端在客户端本地自己生成一堆公钥和私钥。
  • 客户端将公钥传输给服务端。
  • 服务端随机生成一个数字N,并用客户端传输过来的公钥进行加密,并传输给客户端。
  • 客户端接收到加密的字符串以后,再加上sessionID,一起用MD5编码成哈希值,然后发送回服务端。
  • 服务端接收到编码成哈希值的字符串后,自己也和客户端一样用相同的MD5方法再编码一遍,然后对比验证一下是否一致。
  • 完成免密登录的过程。

3.3 总结

在SSH协议中,输入密码登录和免密登录都使用了非对称加密中的公钥加密私钥解密,不同的是输入密码登录中是通过服务端生成公钥和私钥,而免密登录中是通过客户端来生成公钥和私钥

标签:免密,私钥,登录,公钥,ssh,加密,密钥
From: https://www.cnblogs.com/my-3123/p/18014675

相关文章

  • mac ssh连接工具推荐
    RoyalTSX免费版够用官网https://www.royalapps.com/ts/mac/features这是一个集合工具,可以创建各种连接使用方法,1,下载软件后根据需要安装插件,例如我需要ssh和文件传输,就安装了Terminal和filetransfer2,创建集合记得保存。免费版可以创建一个3,创建连接computername......
  • Blazor OIDC 单点登录授权实例5 - 独立SSR App (net8 webapp ) 端授权
    目录:OpenID与OAuth2基础知识BlazorwasmGoogle登录BlazorwasmGitee码云登录BlazorOIDC单点登录授权实例1-建立和配置IDS身份验证服务BlazorOIDC单点登录授权实例2-登录信息组件wasmBlazorOIDC单点登录授权实例3-服务端管理组件BlazorOIDC单点登录授权实......
  • 二十九、登录相关
    deflogin(request):ifrequest.method=='GET':form=account.LoginForm()returnrender(request,'login.html',{'form':form})else:form=account.LoginForm(request.POST)result={�......
  • 04-xx军事自动登录
    本节目标:实现xx军事网账号的自动登录1.前置知识点在开始实现之前,需要先学一些必备的前置知识。1.1页面刷新抓包在抓包时,如果有页面刷新,之前的请求包就会被清除(无法分析)。1.2表单请求和ajax请求当看到页面上有一个表单时,当输入账号+点击登录/注册提交,数据提交就两种方式:......
  • 一个好用的 SSH 终端:WindTerm
    前言WindTerm是一款好用的SSH终端,相比Xshell,SecureCRT,它是开源免费的,相比Putty,它功能更强大。使用下载安装下载地址它支持Windows,Mac,Linux版本文件上传下载这里我们以MAC版本为例,界面如下我们平时使用SSH终端最多的功能可能就是操作shell命令和文件上......
  • SSH工具推荐
    结论:如果只需要同时连一台服务器,选Bitvise。需要同时连多台服务器选MobaXterm需要同时连多台服务器并且要求中文选WindTerm或者finalShellBitviseSSH优点:免费,默认支持选择复制,右键粘贴,自带文件文件上传下载,可以保存服务器账号密码到指定文件缺点:多窗口支持不好,不支持中......
  • Git配置SSH key(解决需要一直输入用户名和密码的问题)
    1、检查自己电脑上是否已经生成了SSHkey(1)打开gitbash(2)输入cd~,进入家目录(3)输入cd.ssh,出现bash:cd:.ssh:Nosuchfileordirectory则表示没有 注:若要重新生成SSHkey,可以删除改文件2、创建SSHkey(1)输入[email protected],需要连续回车(2)执行完该命令,将会......
  • Springboot和Vue(2或者3都行)实现Twitter授权登录,并获取用户公开信息-OAuth1.0。
    第一步先申请twitter开发者账号,创建App,我这里没有创建app,当时好像是默认有一个app,twitter官方说,创建一个app需要先删除一个app,我是没有充钱的,不知道充钱和免费使用接口的是不是一样的。第二步在生成CustomerKey以及CustomeSecret,我之后会用到这两个,这写密钥一生成永久有效,除非......
  • 单点登录怎么做?SSO实现原理和优势总结
    前言大家好,我是chowley,我最近在总结之前的项目,其中登陆模块我用了目前主流的SSO,今天就来总结一下,我对单点登录的理解,也欢迎大家讨论和指点。单点登录在当今互联网应用中,用户经常需要同时访问多个相关但相互独立的系统或应用程序。为了简化用户的登录体验、提高安全性和降低管理......
  • 解决淘宝登录频繁提示,验证失败,点击框体重试(error:9tFhU6)
    1、起因近期淘宝登录需要右划验证,才能点击登录,但是一直提示"验证失败,点击框体重试"类似错误如下图所示2、发现问题通常有这种问题的,大概率是安装了浏览器广告屏蔽插件经核查,我的浏览器安装的是AdGuard看了一下页面的调试日志,发现有一条用来通信的WebSocket协议被插件屏蔽了......