首页 > 解决方案 > aws ec2 中可用的密钥对(公共和私有)的用途是什么?

问题描述

在 AWS EC2 控制台/服务中,您可以查看多个密钥对 - 这些密钥对的具体用途是什么?它们与 ec2 实例或 rds 相关吗?

标签: amazon-web-servicesamazon-s3amazon-ec2amazon-elastic-beanstalkamazon-rds

解决方案


密钥对实际上与 AWS 或 Amazon EC2 无关。它们与 Linux 有关。

在使用 ssh 和 scp 等 Linux 实用程序时,密钥对用于对用户进行身份验证。例如,如果您使用此命令:

ssh -i key.pem ec2-user@IP-ADDRESS

接收 Linux 操作系统将在/home/ec2-user/.ssh/authorized_keys文件中查找。它将检查提供的私钥对是否key.pem与该文件中的公钥对匹配。如果它们匹配,则允许连接。

为了简化此过程,Amazon Linux 中安装了一些软件,它们将接受指定的密钥对并在authorized_keys文件中安装公共部分。这使得最初登录到实例变得容易。

然后欢迎您修改authorized_keys文件的内容以添加/删除您希望的任何密钥对。您还可以在操作系统上创建新用户并将适当的密钥对添加到他们的 authorized_keys文件中。

常见的公司安全实践涉及每个员工生成自己的密钥对(因此只有他们拥有私钥对),然后将密钥对的公共部分提供给 IT 部门。每当请求访问特定的 Linux 计算机时,IT 人员都可以在适当的位置添加他们的公钥对。然后,这将授予工作人员访问计算机的权限。

Amazon EC2 服务提供了一种生成密钥的简单方法,它还将保留密钥对的公共部分,可用于在启动实例时添加密钥。但是,您不需要保留这些密钥对!如果您更喜欢自己管理密钥对(如上所述),那么在实例的初始启动之后,您不需要将它们保留在 AWS 中。

Amazon RDS 不允许用户通过 SSH 连接,因此密钥对不与 Amazon RDS 一起使用。

底线: Linux 计算机使用密钥对来验证用户身份。


推荐阅读