如何创建新的 SSH 密钥对并将其分配给当前没有 SSH 密钥对的 EC2 实例?

问题描述 投票:0回答:2

我正在尝试通过 MySQL Workbench 连接到 AWS RDS MySQL 实例(私有子网)。我的 VPC 包含:

  • EC2 实例(公有子网)
  • RDS 实例(私有子网)

我可以通过 EC2 访问 RDS,但无法通过本地计算机连接到 RDS 实例。据我了解,这是因为我没有 SSH 密钥对。

EC2 实例是在我创建托管 REST API 的 ElasticBeanstalk 应用程序时创建的。似乎未创建 SSH 密钥对。如果没有 SSH 密钥,我无法从本地计算机访问 RDS 实例。

如何创建新的 SSH 密钥对并将其分配给我的 EC2 实例?

使用 MySQL Workbench 通过标准 TCP/IP over SSH 连接到 MySQL 实例所需的设置: Settings required to connect to MySQL instance via Standard TCP/IP over SSH with MySQL Workbench

EC2 警告指出我没有关联的密钥对。 EC2 warning stating that I do not have an associated key pair

任何帮助将不胜感激!

amazon-ec2 amazon-rds amazon-vpc ssh-tunnel aws-ec2-instance-connect
2个回答
1
投票

首先,为了向未来的读者澄清,您无法从本地计算机连接到 RDS — 不是因为没有 SSH 密钥对,而是因为您的 RDS 实例位于私有子网中。
换句话说,即使您已将公共 IP 与 RDS 实例关联,您也无法连接到它,因为私有子网的路由表不会通过 Internet 网关路由 0.0.0.0/0 流量。

澄清一下,如果您想连接到私有 RDS 实例,您可以使用公共 EC2 实例作为代理:为此,您需要一个新的 SSH 密钥。
您有两个选择:


0
投票

需要明确的是,您需要将 RDS 连接到 EC2 实例。不幸的是,您无法连接到 EC2 实例,因为您丢失了

pem file

EC2 connectivity
有多种方法。 您可能有一个
IAM with EC2 connection permission
EC2 root

要通过 SSH 将您的实例连接到本地系统,只有一种简单的方法。

采取下列行动, 生成 SSH 密钥对,

  1. 打开新的终端窗口
  2. 类型
    ssh-keygen -b 4096 -t rsa
  3. 系统将提示您输入文件名。默认情况下,您的密钥将保存为 id_rsa 和 id_rsa.pub。只需按 Enter 即可确认默认值 - 除非您有多个键,否则无需更改此设置! (注意:如果您想更改默认文件名,则需要包含完整的文件路径)
  4. 出现提示时,输入密码。
  5. 这将创建一个名为 .ssh 的隐藏目录,其中包含您的公共 (id_rsa.pub) 和私有 (id_rsa.) 密钥文件。

要查看您的公钥,

cat .ssh/id_rsa.pub.

要关闭它,只需复制您的公钥,单击 EC2 连接,然后将您的密钥粘贴到

.ssh/authorized_keys

现在,

id_rsa private key
就是你的
pem file
。就在它之外进行连接。
ssh -i .ssh/id_rsa ubuntu@<public ip>

© www.soinside.com 2019 - 2024. All rights reserved.