authentication - 我不明白为什么在 ssh 公钥/私钥身份验证中,公钥在服务器上
问题描述
在大多数 Unix 系统中,我们都有带有公钥/私钥的身份验证方案。
私钥允许所有者解密,公钥允许所有者加密私钥所有者可以解密的东西。
假设用户想要使用此身份验证方案登录到服务器。
在Unix系统中,公钥放在服务器上,私钥用于生成签名供服务器验证。
但是,从“机械”的角度来看,这对我来说没有意义,如果使用公钥进行加密,如何使用它来验证私钥生成的签名?因为它只加密对吗?
解决方案
加密只是密钥对的一种用例。公钥用于加密,这样您就可以确保只有私钥的持有者才能解密。
对于签名,私钥用于“加密”或签名,以便您可以确定消息的来源。然后远程主机使用公钥“解密”或验证签名。
推荐阅读
- angular - 无法解构“object null”的属性“uid”,因为它是 null
- mautic - Mautic 安装的插件仅打开模式/工具提示,并且没有显示进一步的操作
- java - Spring 5 应用程序未显示静态 html 页面
- javascript - “hasMany 未定义”错误。Emberjs 中的反身关系
- javascript - 获取两个editorFor值的值并将它们相加,看是否满足条件
- javascript - javascript async 和 await 事件监听器:Pokemon
- python-3.x - 从 xcom 气流任务实例数据创建 json
- c# - 访问 Azure REST API 中的 ListEdgeNodes 操作需要什么权限?
- c++ - 为什么我要在简单模板上使用 CRTP 来实现静态多态性?
- asp.net-core - Blazor WebAssembly 和 LocalStorage JSInterop 错误