Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 EC2 Instance Connect 进行连接

以下说明介绍如何使用 EC2 Instance Connect 连接到 EC2 Linux 实例。

先决条件

  • 在实例上安装 EC2 Instance Connect。

    有关更多信息,请参阅 设置 EC2 Instance Connect

  • (可选)在本地计算机上安装 SSH 客户端。

    如果用户仅使用控制台或 EC2 Instance Connect CLI 连接到实例,则无需安装 SSH 客户端。您的本地计算机很可能已默认安装 SSH 客户端。您可以通过在命令行键入 ssh 来检查 SSH 客户端。如果您的本地计算机无法识别该命令,您可安装 SSH 客户端。有关在 Linux 或 macOS X 上安装 SSH 客户端的信息,请参阅 http://www.openssh.com。有关在 Windows 10 上安装 SSH 客户端的信息,请参阅 Windows 中的 OpenSSH

  • (可选)在本地计算机上安装 EC2 Instance Connect CLI。

    如果用户仅使用控制台或 SSH 客户端连接到实例,则无需安装 EC2 Instance Connect CLI。有关更多信息,请参阅步骤 3:(可选)安装 EC2 Instance Connect CLI

从 Amazon EC2 控制台中使用 EC2 Instance Connect 进行连接

您可以从 Amazon EC2 控制台中选择实例,然后选择使用 EC2 Instance Connect 进行连接以连接到实例。Instance Connect 处理权限并提供成功的连接。

注意

要使用控制台进行连接,实例必须具有公有 IP 地址(IPv4 或 IPv6)。

从 Amazon EC2 控制台中使用 EC2 Instance Connect 连接到实例

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择实例

  3. 选择实例,然后选择连接

  4. 选择 EC2 Instance Connect (基于浏览器的 SSH 连接),然后选择连接

将打开一个窗口,并且您连接到实例。

使用 EC2 Instance Connect CLI 进行连接

您可以使用 EC2 Instance Connect CLI 并仅提供实例 ID 以连接到实例,同时 Instance Connect CLI 在一次调用中执行以下三个操作:它生成一次性使用的 SSH 公有密钥,将密钥推送到实例以在其中保留 60 秒,并将用户连接到实例。您可以在 Instance Connect CLI 中使用基本 SSH/SFTP 命令。

Amazon Linux 2Ubuntu
Amazon Linux 2

使用 EC2 Instance Connect CLI 连接到实例

  • 可以使用 mssh 命令和实例 ID 连接到实例。

    对于使用 Amazon Linux 2 启动的实例,默认用户名为 ec2-user;您不需要指定该名称。

    $ mssh i-001234a4bf70dec41EXAMPLE
Ubuntu

使用 EC2 Instance Connect CLI 连接到实例

  • 可以使用 mssh 命令和实例 ID 连接到实例。

    对于使用 Ubuntu AMI 启动的实例,请指定 ubuntu 用户名;否则,将出现 Authentication failed 错误。

    $ mssh ubuntu@i-001234a4bf70dec41EXAMPLE

使用您自己的密钥和任何 SSH 客户端进行连接

您可以使用自己的 SSH 密钥并从所选的任何 SSH 客户端中连接到实例,同时使用 EC2 Instance Connect API,以便您可以利用 Instance Connect 功能将公有密钥推送到实例。

使用您自己的密钥和任何 SSH 客户端连接到实例

  1. (可选)生成新的 SSH 私有密钥和公有密钥。

    您可以使用以下命令生成新的 SSH 私有密钥和公有密钥(my_rsa_keymy_rsa_key.pub):

    $ ssh-keygen -t rsa -f my_rsa_key

    注意

    目前,仅支持 OpenSSH 或 SSH2 格式的 RSA 密钥类型。

  2. 将 SSH 公有密钥推送到实例。

    可以使用 send-ssh-public-key 命令将 SSH 公有密钥推送到实例。如果使用 Amazon Linux 2 启动实例,则 AMI 的默认用户名是 ec2-user。如果使用 Ubuntu 启动实例,则 AMI 的默认用户名是 ubuntu

    在以下示例中,将针对操作系统用户 ec2-user 将公有密钥推送到 us-west-2b 中具有 id i-001234a4bf70dec41EXAMPLE 的实例:

    $ aws ec2-instance-connect send-ssh-public-key --region us-west-2 --instance-id i-001234a4bf70dec41EXAMPLE --availability-zone us-west-2b --instance-os-user ec2-user --ssh-public-key file://my_rsa_key.pub
  3. 使用私有密钥连接到实例。

    从实例元数据中删除公有密钥之前,可以使用 ssh 命令通过私有密钥连接到实例(在 60 秒后删除)。指定与公有密钥对应的私有密钥、用于启动实例的 AMI 的默认用户名以及实例的公有 DNS。

    $ ssh -i my_rsa_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com