amazon-web-services - aws ec2 中可用的密钥对(公共和私有)的用途是什么?
问题描述
在 AWS EC2 控制台/服务中,您可以查看多个密钥对 - 这些密钥对的具体用途是什么?它们与 ec2 实例或 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 计算机使用密钥对来验证用户身份。
推荐阅读
- python - 导入 python 日志记录时遇到问题
- css - div标签内按钮的CSS选择器
- html - 在页面重新加载时停止 python 函数调用
- javascript - 出于数学目的使用 React 将日期/时间转换为秒
- firebase - Firebase 错误:没有要更新的文档(带有 Firebase 应用的 Vue 3)。但是如果等待 1 分钟然后重新加载它是可更新的
- c++ - 如何正确使用 warpPerspective?
- javascript - 在reactjs中使用refs绑定输入类型
- amazon-web-services - 是否可以在 VPC 创建/编辑事件上触发 Lambda 函数?
- android - android中的数据绑定显示为空
- javascript - 如何从函数内部更新全局变量