使用安全外壳连接到 Lightsail for Research 虚拟计算机 - 亚马逊 Lightsail 研究版

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用安全外壳连接到 Lightsail for Research 虚拟计算机

您可以使用安全外壳协议 (SSH) 连接到 Amazon Lightsail for Research 中的虚拟计算机。您可以使用 SSH 远程管理虚拟计算机,这样您就可以通过互联网登录计算机并运行命令。

注意

您还可以使用基于浏览器的 Amazon DCV 客户端与您的虚拟计算机建立远程显示协议连接。亚马逊 DCV 在 Lightsail for Research 控制台中可用。有关更多信息,请参阅 访问你的 Lightsail for Research 虚拟计算机的操作系统

完成 先决条件

在开始之前,请满足以下先决条件。

  • 在 Lightsail 中创建一台用于研究的虚拟计算机。有关更多信息,请参阅 创建 Lightsail for Research 虚拟计算机

  • 确保您要连接的虚拟计算机处于运行状态。另外,请记下虚拟计算机的名称和创建虚拟计算机的 AWS 区域。在此流程的稍后阶段,您将需要这些信息。有关更多信息,请参阅 查看 Lightsail 研究版虚拟计算机详情

  • 确保您要连接的虚拟计算机上的端口 22 已打开。这是 SSH 使用的默认端口。该端口预设情况下打开。但是,如果您将其关闭,则必须先将其重新打开,然后才能继续使用。有关更多信息,请参阅 管理 Lightsail for Research 虚拟机的防火墙端口

  • 为您的虚拟计算机获取 Lightsail 默认密钥对 (DKP)。有关更多信息,请参阅 获取虚拟计算机的密钥对

    提示

    如果您打算使用 AWS CloudShell 连接到您的虚拟计算机,请参阅使用 Connect 连接到虚拟计算机 AWS CloudShell下一节中的。有关更多信息,请参阅什么是 AWS CloudShell。否则,请继续执行下一个先决条件。

  • 下载并安装 AWS Command Line Interface (AWS CLI)。有关更多信息,请参阅《AWS Command Line Interface 用户指南版本 2》中的安装或更新最新版本的 AWS CLI

  • 配置 AWS CLI 以访问您的 AWS 账户。有关更多信息,请参阅《AWS Command Line Interface 用户指南版本 2》中的配置基础知识

  • 下载并安装 jq。它是一个轻型且灵活的命令行 JSON 处理器,用于在以下过程中提取密钥对详细信息。有关下载和安装 jq 的更多信息,请参阅 jq 网站上的下载 jq

使用 SSH 连接到虚拟计算机

完成以下过程之一,在 Lightsail for Research 中建立与虚拟计算机的 SSH 连接。

如果您希望以最少的设置连接到虚拟计算机,则此过程适用。 AWS CloudShell 使用基于浏览器、经过预先验证的 shell,您可以直接从中启动该外壳。 AWS Management Console你可以使用你喜欢的外壳来运行 AWS CLI 命令,比如 Bash PowerShell、或 Z shell。您无需下载或安装命令行工具,即可完成此操作。有关更多信息,请参阅《AWS CloudShell 用户指南》中的开始使用 AWS CloudShell

重要

在开始之前,请确保获取要连接的虚拟计算机的 Lightsail 默认密钥对 (DKP)。有关更多信息,请参阅 获取 Lightsail for Research 虚拟计算机的密钥对

  1. Lightsail for Research 控制台中,选择以下选项之一启动 CloudShell :

    1. 在 “搜索” 框中,键入 CloudShell “”,然后选择CloudShell

    2. 在导航栏上,选择图CloudShell标。

    3. CloudShell在控制台左下角的控制台工具栏上选择。

    AWS CloudShell 界面中的主要功能。

    当系统显示命令提示符时,表示 shell 已经准备就绪,可以进行交互。

    AWS CloudShell 终端接口。
  2. 选择要使用的预装外壳。要更改默认 shell,请在命令行提示符下输入以下程序名称之一。Bash 是你启动时正在运行的默认 shell AWS CloudShell。

    Bash

    bash

    如果你切换到 Bash,命令提示符处的符号将更新为$

    PowerShell

    pwsh

    如果切换到 PowerShell,则命令提示符处的符号将更新为PS>

    Z shell

    zsh

    如果你切换到 Z shell,命令提示符处的符号将更新为%

  3. 要从 CloudShell 终端窗口连接到虚拟计算机,请参阅在 Linux、Unix 或 macOS 本地计算机上使用 SSH 连接到虚拟计算机

有关 CloudShell环境中预安装软件的信息,请参阅《AWS CloudShell 用户指南》中的AWS CloudShell 计算环境

如果您的本地计算机使用 Windows 操作系统,则此过程适用。此过程使用get-instance AWS CLI 命令获取您要连接的实例的用户名和公有 IP 地址。有关更多信息,请参阅《AWS CLI 命令参考》中的 get-instance

重要

在开始此过程之前,请确保获得要连接的虚拟计算机的 Lightsail 默认密钥对 (DKP)。有关更多信息,请参阅 获取 Lightsail for Research 虚拟计算机的密钥对。该过程将 Lightsail DKP 的私钥输出到一个dkp_rsa文件中,该文件用于以下命令之一。

  1. 打开 Command Prompt (命令提示符窗口)。

  2. 输入以下命令,以显示虚拟计算机的公有 IP 地址和用户名。在命令中,region-code替换为 AWS 区域 创建虚拟计算机时使用的代码,例如us-east-2。将 computer-name 替换为要连接的虚拟计算机的名称。

    aws lightsail get-instance --region region-code --instance-name computer-name | jq -r ".instance.username" & aws lightsail get-instance --region region-code --instance-name computer-name | jq -r ".instance.publicIpAddress"

    示例

    aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r ".instance.username" & aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r ".instance.publicIpAddress"

    响应将显示虚拟计算机的用户名和公有 IP 地址,如以下示例所示。请记下这些值,因为在此过程的后续步骤中需要这些值。

    虚拟计算机的用户名和公有 IP 地址。
  3. 输入以下命令,与您的虚拟计算机建立 SSH 连接。在命令中,将 user-name 替换为登录用户名,将 public-ip-address 替换为虚拟计算机的公有 IP 地址。

    ssh -i dkp_rsa user-name@public-ip-address

    示例

    ssh -i dkp_rsa ubuntu@192.0.2.0

    您应该会看到与以下示例类似的响应,该示例显示了在 Lightsail for Research 中与 Ubuntu 虚拟计算机建立的 SSH 连接。

    已建立与虚拟计算机的 SSH 连接。

    现在,您已成功建立与虚拟计算机的 SSH 连接,请继续阅读下一节以了解其他后续步骤。

如果您的本地计算机使用的是 Linux、Unix 或 macOS 操作系统,则此过程适用。此过程使用get-instance AWS CLI 命令获取您要连接的实例的用户名和公有 IP 地址。有关更多信息,请参阅《AWS CLI 命令参考》中的 get-instance

重要

在开始此过程之前,请确保获得要连接的虚拟计算机的 Lightsail 默认密钥对 (DKP)。有关更多信息,请参阅 获取 Lightsail for Research 虚拟计算机的密钥对。该过程将 Lightsail DKP 的私钥输出到一个dkp_rsa文件中,该文件用于以下命令之一。

  1. 打开终端窗口。

  2. 输入以下命令,以显示虚拟计算机的公有 IP 地址和用户名。在命令中,region-code替换为创建虚拟计算机的 AWS 区域的代码,例如us-east-2。将 computer-name 替换为要连接的虚拟计算机的名称。

    aws lightsail get-instance --region region-code --instance-name computer-name | jq -r '.instance.username' && aws lightsail get-instance --region region-code --instance-name computer-name | jq -r '.instance.publicIpAddress'

    示例

    aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r '.instance.username' && aws lightsail get-instance --region us-east-2 --instance-name MyJupyterComputer | jq -r '.instance.publicIpAddress'

    响应将显示虚拟计算机的用户名和公有 IP 地址,如以下示例所示。请记下这些值,因为在此过程的后续步骤中需要这些值。

    虚拟计算机的用户名和公有 IP 地址。
  3. 输入以下命令,与您的虚拟计算机建立 SSH 连接。在命令中,将 user-name 替换为登录用户名,将 public-ip-address 替换为虚拟计算机的公有 IP 地址。

    ssh -i dkp_rsa user-name@public-ip-address

    示例

    ssh -i dkp_rsa ubuntu@192.0.2.0

    您应该会看到与以下示例类似的响应,该示例显示了在 Lightsail for Research 中与 Ubuntu 虚拟计算机建立的 SSH 连接。

    已建立与虚拟计算机的 SSH 连接。

    现在,您已成功建立与虚拟计算机的 SSH 连接,请继续阅读下一节以了解其他后续步骤。

继续执行后续步骤

成功与虚拟计算机建立 SSH 连接后,您可以完成以下其他后续步骤: