第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 格式的密钥,或者反之。

相关推荐

  1. 4 EC2 - 4.3

    2024-04-22 07:00:04       36 阅读
  2. Linux生成并配置免访问

    2024-04-22 07:00:04       25 阅读
  3. Windows Server 2012R2

    2024-04-22 07:00:04       74 阅读
  4. 数据安全:证书和概念详解

    2024-04-22 07:00:04       55 阅读
  5. 力扣(leetcode)482题格式化(Python)

    2024-04-22 07:00:04       62 阅读
  6. 汽车信息安全--管理系统初探(2)

    2024-04-22 07:00:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 07:00:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 07:00:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 07:00:04       82 阅读
  4. Python语言-面向对象

    2024-04-22 07:00:04       91 阅读

热门阅读

  1. 欧鹏RHCE 第三次作业

    2024-04-22 07:00:04       32 阅读
  2. Pytorch或Tensorflow 深度学习库安装 (简易版)

    2024-04-22 07:00:04       32 阅读
  3. JVM 引用的分类

    2024-04-22 07:00:04       32 阅读
  4. vue3 依赖-组件tablepage-vue3版本1.0.2更新内容

    2024-04-22 07:00:04       35 阅读
  5. Css切换不同窗口

    2024-04-22 07:00:04       31 阅读
  6. 统一建模语言UML图

    2024-04-22 07:00:04       28 阅读
  7. NPM 详解

    2024-04-22 07:00:04       38 阅读
  8. 开发语言漫谈-SQL

    2024-04-22 07:00:04       36 阅读
  9. 在 Apache Sedona 中处理空间栅格数据

    2024-04-22 07:00:04       35 阅读
  10. Qt查询mysql表的信息解释

    2024-04-22 07:00:04       37 阅读
  11. pyflink统计单词

    2024-04-22 07:00:04       38 阅读