一般我们启用一个EC2主机会绑定相应的*.pem私钥文件,我们如果要利用pem文件登录云主机首先需要将其转换成ppk文件

使用 PuTTYgen 转换私有密钥

PuTTY 自身并不支持由 SSH 密钥的生成的私有密钥格式 (.pem)。PuTTY 提供一个名为 PuTTYgen 的工具,此工具可以将密钥转换为所需的 PuTTY 格式。您必须如下所示将私有密钥(.pem 文件)转换为此格式(.ppk 文件),以便使用 PuTTY 连接到您的实例。

转换您的私有密钥

  1. 从 Start (开始) 菜单中,依次选择 All Programs (所有程序)PuTTYPuTTYgen
  2. 在 Type of key to generate 下,选择 RSA。如果您使用的是旧版本的 PuTTYgen,请选择 SSH-2 RSA
  3. 选择 Load。默认情况下,PuTTYgen 仅显示扩展名为 .ppk 的文件。要找到您的 .pem 文件,请选择显示所有类型的文件的选项。
  4. 选择在启动实例时指定的密钥对的 .pem 文件,然后选择 Open (打开)。PuTTYgen 会显示一个通知,指示已成功导入 .pem 文件。选择 OK
  5. 要以 PuTTY 可使用的格式保存密钥,请选择保存私有密钥。PuTTYgen 将显示有关保存没有密码的密钥的警告。选择注意私有密钥上的密码提供额外一层保护。即使发现了您的私有密钥,也不能在没有密码的情况下使用该密钥。使用密码的缺点是自动化更难实现,因为需要人工干预以登录到实例或将文件复制到实例中。
  6. 为密钥指定您用于密钥对的相同名称(例如 my-key-pair)并选择 Save (保存)。PuTTY 会自动添加 .ppk 文件扩展名。

您的私有密钥格式现在是正确的 PuTTY 使用格式了。您现在可以使用 PuTTY 的 SSH 客户端连接到实例。

连接到 Linux 实例

通过以下过程使用 PuTTY 连接到您的 Linux 实例。您需要使用为私有密钥创建的 .ppk 文件。

  1. 启动 PuTTY(在开始菜单中,选择所有程序 > PuTTY > PuTTY)。
  1. 在 Category 窗格中,选择 Session 并填写以下字段:
    1. 主机名框中,执行以下操作之一:
      • (公有 DNS)要使用您实例的公有 DNS 进行连接,请输入 user_name@public_dns_name
      • (IPv4/6) 或者,如果您的实例具有 IPv6 地址,要使用实例的 IPv4/6 地址进行连接,请输入 user_name@ipv4_address。对于 user_name,确保为您的 AMI 指定相应的用户名。例如:
      • 对于 Amazon Linux 2 或 Amazon Linux AMI,用户名称是 ec2-user
    2. 确保端口值为 22。
    3. 连接类型下,选择 SSH
  2. (可选) 您可以配置 PuTTY 以定期自动发送“保持连接”数据以将会话保持活动状态。要避免由于会话处于不活动状态而与实例断开连接,这是非常有用的。在 Category 窗格中,选择 Connection,然后在 Seconds between keepalives 字段中输入所需的间隔。例如,如果您的会话在处于不活动状态 10 分钟后断开连接,请输入 180 以将 PuTTY 配置为每隔 3 分钟发送一次保持活动数据。
  3. 在 Category 窗格中,展开 Connection,再展开 SSH,然后选择 Auth。完成以下操作:
    1. 选择 Browse
    2. 选择为密钥对生成的 .ppk 文件,然后选择打开
    3. (可选) 如果打算稍后重新启动此会话,则可以保存此会话信息以便日后使用。在类别下面,选择会话,在保存的会话中输入会话的名称,然后选择保存
    4. 选择 Open
  1. 如果这是第一次连接到该实例,PuTTY 将显示安全警报对话框,以询问您是否信任要连接到的主机。
  2. 然后选择接受即可登录成功。

参考文档:

1.https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/putty.html