第4章 EC2 - 4.3 密钥对

aws入门篇 06.EC2之密钥对

4.3.1 对称加密

加密和解密是使用同一把钥匙

4.3.2 非对称加密

1️⃣公钥加密私钥解密

比如说,我自己的网站,我用公钥加密了,每一个想学我课程的人呢,我给他一个兑换码,这个兑换码就相当于一个私钥,拿着这个私钥就可以解锁相应的课程了

2️⃣私钥加密公钥解密

比如说,我想群发一封邮件,但是呢,这封邮件我给加密了,一个列表里面有很多人,我不想给张三看,我私下在给其他人公钥,其他人就能拿着这个公钥解密,张三呢,即使收到这封邮件也看不了,因为我是加密的,没有公钥的人看不了

在AWS创建EC2实例时使用的密钥对遵循的是"公钥加密,私钥解密"的原则,但这个原则主要用于身份验证和数据加密的不同场景。对于EC2而言,更准确的描述是使用公钥来加密登录信息(例如,SSH登录时的初始握手),而私钥则用于解密这些信息以完成身份验证过程。

具体到EC2实例的场景中,当你创建一个EC2实例并指定一个公钥时,AWS会将这个公钥存储在实例的特定目录中(例如,在Linux系统中通常是~/.ssh/authorized_keys)。当你使用SSH客户端并提供私钥连接到EC2实例时,SSH服务使用存储在实例上的公钥验证你的私钥。如果验证成功,表明你拥有相应的私钥,因此被授权登录实例。在这个过程中,并没有发生加密数据的传输,而是使用公私钥对进行身份验证。

说AWS的密钥对是用于"私钥加密,公钥解密"或"公钥加密,私钥解密"都不完全准确,最恰当的说法是使用公钥进行身份验证,私钥作为身份验证的证明。

4.3.3 数字签名和证书

4.3.4 RSA和ED25519

在AWS(亚马逊网络服务)中,密钥对类型指的是在创建和管理EC2实例(Elastic Compute Cloud,即云服务器)时使用的身份验证机制。在AWS中,通常有两种主要的密钥对类型:RSA和ED25519。这些密钥对用于通过SSH协议连接到EC2实例,以便进行远程管理和操作。

  1. RSA(Rivest-Shamir-Adleman)密钥对:RSA是一种非对称加密算法,它使用两个密钥来进行加密和解密:公钥和私钥。在AWS中,RSA密钥对通常包含一个RSA公钥和一个RSA私钥。RSA密钥对在AWS中是一种常见的选择,因为它们被广泛支持,并且与许多SSH客户端和工具兼容。
  2. ED25519密钥对:ED25519是一种基于椭圆曲线的数字签名算法,与RSA相比,它通常提供了更高的性能和安全性。在AWS中,ED25519密钥对提供了另一种选择,以提高安全性并减少连接时的计算开销。ED25519密钥对也可以用于通过SSH连接到EC2实例。

选择使用RSA还是ED25519密钥对通常取决于安全性需求和性能偏好。如果你更关注性能和较高的安全性,则可以选择ED25519密钥对。如果你需要更广泛的兼容性,并且对性能要求没有那么高,那么RSA密钥对可能是更合适的选择。

4.3.5 私钥文件格式 pem/ppk

什么是SSH?
SSH是一种广泛使用的高安全性网络协议,它通过加密技术来保障网络通信的安全,被广泛应用于远程管理和安全数据传输。

PuTTY 使用的密钥格式(通常是 .ppk 格式)与 OpenSSH 使用的密钥格式(通常是 .pem 格式)之间的差异主要是由于历史和开发背景的不同。

  1. PuTTY 的历史:PuTTY 是一个 Windows 平台上的 SSH 客户端软件,最初由 Simon Tatham 开发。在 PuTTY 最初的设计中,使用了自己的密钥格式(.ppk),这是为了满足 PuTTY 的需求和功能。因此,PuTTY 使用了一种特定于自身的密钥格式来存储私钥。
  2. OpenSSH 的历史:OpenSSH 是一个在 Unix 和类 Unix 系统上运行的 SSH 实现,最初由 OpenBSD 社区开发。OpenSSH 最初使用的是 OpenSSH 自己的密钥格式,后来也开始支持其他一些常见的密钥格式,如 OpenSSH 格式和 PEM 格式。PEM 格式是一种通用的密钥和证书格式,可以在多种环境中使用。

因此,PuTTY 和 OpenSSH 使用不同的密钥格式,主要是由于它们各自的历史和开发背景不同。然而,通过适当的工具和转换程序,可以在它们之间进行密钥格式的转换。例如,可以使用 PuTTYgen(PuTTY 的密钥生成器)来将 PuTTY 格式的密钥转换为 OpenSSH 格式的密钥,或者反之。

相关推荐
_xaboy1 小时前
开源项目低代码表单设计器FcDesigner扩展自定义的容器组件.例如col
vue.js·低代码·开源·动态表单·formcreate·低代码表单·可视化表单设计器
_xaboy1 小时前
开源项目低代码表单设计器FcDesigner扩展自定义组件
vue.js·低代码·开源·动态表单·formcreate·可视化表单设计器
低代码布道师1 小时前
微搭低代码私有化部署搭建教程
低代码
Light601 小时前
低代码牵手 AI 接口:开启智能化开发新征程
人工智能·python·深度学习·低代码·链表·线性回归
低代码布道师1 小时前
微搭低代码入门03函数
低代码
小安运维日记2 小时前
CKA认证 | Day3 K8s管理应用生命周期(上)
运维·云原生·容器·kubernetes·云计算·k8s
眷怀17 小时前
网卡绑定bonding
linux·运维·服务器·网络·云计算
数勋API19 小时前
银行卡归属地查询API接口如何用PHP调用
开发语言·云计算·php
zhojiew21 小时前
aws xray通过设置采样规则对请求进行过滤
aws
tmgmforex202421 小时前
亚马逊云计算部门挑战英伟达,提供免费AI计算能力
人工智能·科技·云计算