本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用安全副本将文件传输到 Lightsail for Research 虚拟计算机
您可以使用安全复制 (SCP) 将文件从本地计算机传输到 Amazon Lightsail for Research 中的虚拟计算机。通过此过程,您可以一次传输多个文件或整个目录。
注意
您还可以使用 Lightsail for Research 控制台中提供的基于浏览器的 Amazon DCV 客户端,与虚拟计算机建立远程显示协议连接。使用 Amazon DCV 客户端,您可以快速传输单个文件。有关更多信息,请参阅 访问你的 Lightsail for Research 虚拟计算机的操作系统。
完成 先决条件
在开始之前,请满足以下先决条件。
-
在 Lightsail 中创建一台用于研究的虚拟计算机。有关更多信息,请参阅 创建 Lightsail for Research 虚拟计算机。
-
确保您要连接的虚拟计算机处于运行状态。另外,记下虚拟计算机的名称和创建虚拟计算机所在的 AWS 区域。您在此过程的稍后部分将会需要此信息。有关更多信息,请参阅 查看 Lightsail 研究版虚拟计算机详情。
-
下载并安装 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
。 -
确保您要连接的虚拟计算机上的端口 22 已打开。这是 SSH 使用的默认端口。该端口预设情况下打开。但是,如果您将其关闭,则必须先将其重新打开,然后才能继续使用。有关更多信息,请参阅 管理 Lightsail for Research 虚拟机的防火墙端口。
-
为您的虚拟计算机获取 Lightsail 默认密钥对 (DKP)。有关更多信息,请参阅 创建 Lightsail for Research 虚拟计算机。
使用 SCP 连接到虚拟计算机
完成以下过程之一,使用 SCP 连接到 Lightsail for Research 中的虚拟计算机。
如果您的本地计算机使用 Windows 操作系统,则适用此过程。此过程使用get-instance
AWS CLI
命令获取您要连接的实例的用户名和公有 IP 地址。有关更多信息,请参阅《AWS CLI 命令参考》中的 get-instance。
重要
在开始此过程之前,请确保获得要连接的虚拟计算机的 Lightsail 默认密钥对 (DKP)。有关更多信息,请参阅 获取 Lightsail for Research 虚拟计算机的密钥对。该过程将 Lightsail DKP 的私钥输出到一个dkp_rsa
文件中,该文件用于以下命令之一。
-
打开 Command Prompt (命令提示符窗口)。
-
输入以下命令,以显示虚拟计算机的公有 IP 地址和用户名。在命令中,
替换为创建虚拟计算机的 AWS 区域的代码,例如region-code
us-east-2
。将
替换为要连接的虚拟计算机的名称。computer-name
aws lightsail get-instance --region
region-code
--instance-namecomputer-name
| jq -r ".instance.username" & aws lightsail get-instance --regionregion-code
--instance-namecomputer-name
| jq -r ".instance.publicIpAddress"示例
aws lightsail get-instance --region
us-east-2
--instance-nameMyJupyterComputer
| jq -r ".instance.username" & aws lightsail get-instance --regionus-east-2
--instance-nameMyJupyterComputer
| jq -r ".instance.publicIpAddress"响应将显示虚拟计算机的用户名和公有 IP 地址,如以下示例所示。请记下这些值,因为在此过程的后续步骤中需要这些值。
-
输入以下命令,与您的虚拟计算机建立 SCP 连接,并将文件传输到该虚拟计算机。
scp -i dkp_rsa -r "
source-folder
"user-name
@public-ip-address
:destination-directory
在该命令中,将:
-
替换为本地计算机上包含要传输的文件的文件夹。source-folder
-
替换为来自此过程上一步的用户名(例如user-name
ubuntu
)。 -
替换为来自此过程上一步的虚拟计算机的公有 IP 地址。public-ip-address
-
替换为您希望从其中复制文件的虚拟计算机上的目录路径。destination-directory
以下示例将所有文件从本地计算机上的
C:\Files
文件夹复制到远程虚拟计算机上的/home/lightsail-user/Uploads/
目录中。scp -i dkp_rsa -r "
C:\Files
"ubuntu
@192.0.2.0
:/home/lightsail-user/Uploads/
您应看到类似于以下示例的响应。它显示了从源文件夹传输到目标目录的每个文件。现在,您应能够访问虚拟计算机上的这些文件。
-
如果您的本地计算机使用 Linux、Unix 或 macOS 操作系统,则适用此过程。此过程使用get-instance
AWS CLI 命令获取您要连接的实例的用户名和公有 IP 地址。有关更多信息,请参阅《AWS CLI 命令参考》中的 get-instance。
重要
在开始此过程之前,请确保获得要连接的虚拟计算机的 Lightsail 默认密钥对 (DKP)。有关更多信息,请参阅 获取 Lightsail for Research 虚拟计算机的密钥对。该过程将 Lightsail DKP 的私钥输出到一个dkp_rsa
文件中,该文件用于以下命令之一。
-
打开终端窗口。
-
输入以下命令,以显示虚拟计算机的公有 IP 地址和用户名。在命令中,
替换为创建虚拟计算机的 AWS 区域的代码,例如region-code
us-east-2
。将
替换为要连接的虚拟计算机的名称。computer-name
aws lightsail get-instance --region
region-code
--instance-namecomputer-name
| jq -r '.instance.username' & aws lightsail get-instance --regionregion-code
--instance-namecomputer-name
| jq -r '.instance.publicIpAddress'示例
aws lightsail get-instance --region
us-east-2
--instance-nameMyJupyterComputer
| jq -r '.instance.username' & aws lightsail get-instance --regionus-east-2
--instance-nameMyJupyterComputer
| jq -r '.instance.publicIpAddress'响应将显示虚拟计算机的用户名和公有 IP 地址,如以下示例所示。请记下这些值,因为在此过程的后续步骤中需要这些值。
-
输入以下命令,与您的虚拟计算机建立 SCP 连接,并将文件传输到该虚拟计算机。
scp -i dkp_rsa -r '
source-folder
'user-name
@public-ip-address
:destination-directory
在该命令中,将:
-
替换为本地计算机上包含要传输的文件的文件夹。source-folder
-
替换为来自此过程上一步的用户名(例如user-name
ubuntu
)。 -
替换为来自此过程上一步的虚拟计算机的公有 IP 地址。public-ip-address
-
替换为您希望从其中复制文件的虚拟计算机上的目录路径。destination-directory
以下示例将所有文件从本地计算机上的
C:\Files
文件夹复制到远程虚拟计算机上的/home/lightsail-user/Uploads/
目录中。scp -i dkp_rsa -r '
Files
'ubuntu
@192.0.2.0
:/home/lightsail-user/Uploads/
您应看到类似于以下示例的响应。它显示了从源文件夹传输到目标目录的每个文件。现在,您应能够访问虚拟计算机上的这些文件。
-