使用 EC2 Instance Connect 进行连接
以下说明介绍如何使用 EC2 Instance Connect 连接到 Linux 实例。
使用 EC2 Instance Connect 进行连接的选项
限制
-
支持以下 Linux 发行版:
-
Amazon Linux 2(任何版本)
-
Ubuntu 16.04 或更高版本
-
-
要使用基于浏览器的客户端进行连接,实例必须具有公有 IPv4 地址。
-
如果实例没有公有 IP 地址,则只能使用 EC2 Instance Connect CLI 连接到实例,并且只能从同一 VPC 内的计算机连接。
-
EC2 Instance Connect 不支持使用 IPv6 地址进行连接。
先决条件
-
在实例上安装 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 进行连接,以使用基于浏览器的客户端连接到实例。Instance Connect 处理权限并提供成功的连接。
从 Amazon EC2 控制台使用基于浏览器的客户端连接到您的实例
-
打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/
。 -
在导航窗格中,选择 Instances (实例)。
-
选择实例,然后选择连接。
-
选择 EC2 Instance Connect。
-
验证用户名并选择连接以打开终端窗口。
使用 EC2 Instance Connect CLI 进行连接
您可以使用 EC2 Instance Connect CLI 并仅提供实例 ID 以连接到实例,同时 Instance Connect CLI 在一次调用中执行以下三个操作:它生成一次性使用的 SSH 公有密钥,将密钥推送到实例以在其中保留 60 秒,并将用户连接到实例。您可以在 Instance Connect CLI 中使用基本 SSH/SFTP 命令。
使用 mssh 时不支持 -i
。在使用 mssh 命令连接到实例时,无需指定任何类型的身份文件,因为 Instance Connect 会管理密钥对。
使用您自己的密钥和 SSH 客户端进行连接
您可以使用自己的 SSH 密钥,并在使用 EC2 Instance Connect API 时从您选择的 SSH 客户端连接到您的实例。这使您能够从将公有密钥推送到实例的 Instance Connect 功能中受益。
要求
支持的 RSA 密钥类型是 OpenSSH 和 SSH2。支持的长度为 2048 和 4096。有关更多信息,请参阅 选项 2:将您自己的公有密钥导入到 Amazon EC2。
使用您自己的密钥和任何 SSH 客户端连接到实例
-
(可选)生成新的 SSH 私有密钥和公有密钥
您可以使用以下命令生成新的 SSH 私有密钥和公有密钥(
my_rsa_key
和my_rsa_key.pub
):$
ssh-keygen -t rsa -f my_rsa_key
-
将 SSH 公有密钥推送到实例
使用 send-ssh-public-key 命令可将 SSH 公有密钥推送到实例。如果使用 Amazon Linux 2 启动实例,则 AMI 的默认用户名是
ec2-user
。如果使用 Ubuntu 启动实例,则 AMI 的默认用户名是ubuntu
。以下示例将公有密钥推送到指定的可用区中的指定实例,以对
ec2-user
进行身份验证:$
aws ec2-instance-connect send-ssh-public-key \ --instance-id
i-001234a4bf70dec41EXAMPLE
\ --availability-zoneus-west-2b
\ --instance-os-userec2-user
\ --ssh-public-key file://my_rsa_key.pub
-
使用私有密钥连接到实例
从实例元数据中删除公有密钥之前,可以使用 ssh 命令通过私有密钥连接到实例(在 60 秒后删除)。指定与公有密钥对应的私有密钥、用于启动实例的 AMI 的默认用户名以及实例的公有 DNS 名称。添加
IdentitiesOnly=yes
选项以确保仅使用 ssh config 中的文件和指定的密钥进行连接。$
ssh -o "IdentitiesOnly=yes" -i
my_rsa_key
ec2-user
@ec2-198-51-100-1.compute-1.amazonaws.com