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实例,以便进行远程管理和操作。
- RSA(Rivest-Shamir-Adleman)密钥对:RSA是一种非对称加密算法,它使用两个密钥来进行加密和解密:公钥和私钥。在AWS中,RSA密钥对通常包含一个RSA公钥和一个RSA私钥。RSA密钥对在AWS中是一种常见的选择,因为它们被广泛支持,并且与许多SSH客户端和工具兼容。
- ED25519密钥对:ED25519是一种基于椭圆曲线的数字签名算法,与RSA相比,它通常提供了更高的性能和安全性。在AWS中,ED25519密钥对提供了另一种选择,以提高安全性并减少连接时的计算开销。ED25519密钥对也可以用于通过SSH连接到EC2实例。
选择使用RSA还是ED25519密钥对通常取决于安全性需求和性能偏好。如果你更关注性能和较高的安全性,则可以选择ED25519密钥对。如果你需要更广泛的兼容性,并且对性能要求没有那么高,那么RSA密钥对可能是更合适的选择。
4.3.5 私钥文件格式 pem/ppk
什么是SSH?
SSH是一种广泛使用的高安全性网络协议,它通过加密技术来保障网络通信的安全,被广泛应用于远程管理和安全数据传输。
PuTTY 使用的密钥格式(通常是 .ppk 格式)与 OpenSSH 使用的密钥格式(通常是 .pem 格式)之间的差异主要是由于历史和开发背景的不同。
- PuTTY 的历史:PuTTY 是一个 Windows 平台上的 SSH 客户端软件,最初由 Simon Tatham 开发。在 PuTTY 最初的设计中,使用了自己的密钥格式(.ppk),这是为了满足 PuTTY 的需求和功能。因此,PuTTY 使用了一种特定于自身的密钥格式来存储私钥。
- OpenSSH 的历史:OpenSSH 是一个在 Unix 和类 Unix 系统上运行的 SSH 实现,最初由 OpenBSD 社区开发。OpenSSH 最初使用的是 OpenSSH 自己的密钥格式,后来也开始支持其他一些常见的密钥格式,如 OpenSSH 格式和 PEM 格式。PEM 格式是一种通用的密钥和证书格式,可以在多种环境中使用。
因此,PuTTY 和 OpenSSH 使用不同的密钥格式,主要是由于它们各自的历史和开发背景不同。然而,通过适当的工具和转换程序,可以在它们之间进行密钥格式的转换。例如,可以使用 PuTTYgen(PuTTY 的密钥生成器)来将 PuTTY 格式的密钥转换为 OpenSSH 格式的密钥,或者反之。