本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Transfer Family 服务器端点入门
使用本教程开始使用 Amazon Transfer Family (Transfer Family)。您将学习如何使用 Amazon S3 存储创建具有可公开访问端点的启用 SFTP 的服务器,如何添加具有服务托管身份验证的用户,以及如何使用 Cyberduck 传输文件。
先决条件
开始之前,请确保完成先决条件 中的要求。在此设置中,您将创建一个亚马逊简单存储服务 (Amazon S3) 存储桶和 Amazon Identity and Access Management 一个 (IAM) 用户角色。
使用 Amazon Transfer Family 控制台需要权限,也需要权限才能配置 Transfer Family 使用的其他 Amazon 服务,例如亚马逊简单存储服务 Amazon Certificate Manager、亚马逊弹性文件系统和亚马逊 Route 53。例如,对于 Amazon 使用 Transfer Family 传入和传出文件的用户,AmazonS3 会FullAccess授予设置和使用 Amazon S3 存储桶的权限。创建 Amazon S3 存储桶需要此策略中的一些权限。
要使用 Transfer Family 控制台,您需要满足以下条件:
-
AWSTransferConsoleFullAccess向您的 SFTP 用户授予创建 Transfer Family 资源的权限。
-
只有当您希望 Transfer Family 在 Amazon CloudWatch Logs 中自动为您的服务器创建日志角色或为登录服务器的用户创建用户角色时,才需要 IA@@ M FullAccess(或者具体来说是允许创建 IAM 角色的策略)。
-
要创建和删除 VPC 服务器类型,您需要在策略中添加操作 ec2:CreateVpc终端节点和 ec2:DeleteVpc终端节点。
注意
一般使用并不需要 A mazonS3 FullAccess 和 IAM FullAccess 政策。 Amazon Transfer Family此处将它们作为一种简单的方法来确保您需要的所有权限都得到满足。此外,这些是 Amazon 托管策略,它们是可供所有 Amazon 客户使用的标准策略。您可以查看这些策略中的个人权限,并确定实现您的目的所需的最低权限集。
步骤 1:登录到 Amazon Transfer Family 控制台
要登录 Transfer Family
-
登录 Amazon Web Services Management Console 并打开 Amazon Transfer Family 控制台,网址为 https://console.aws.amazon.com/transfer/
。 -
对于账户 ID 或别名,请输入您的 Amazon Web Services 账户 ID。
-
对于IAM 用户名,输入您为 Transfer Family 创建的用户角色名称。
-
在 “密码” 中,输入您的 Amazon 帐户密码。
-
选择 Sign in(登录)。
步骤 2:创建启用 SFTP 的服务器
Secure Shell (SSH) 文件传输协议 (SFTP) 是一种用于通过互联网安全传输数据的网络协议。该协议支持 SSH 的完整安全和身份验证功能。它被广泛应用于金融服务、医疗保健、零售和广告等各行各业的业务合作伙伴之间交换数据,包括敏感信息。
要创建启用 SFTP 的服务器
-
从导航窗格中选择服务器,然后选择创建服务器。
-
在选择协议中,选择 SFTP,然后选择下一步。
-
在选择身份提供商中,选择服务托管,在 Transfer Family 中存储用户身份和密钥,然后选择下一步。
-
在选择端点中,执行以下操作:
-
对于端点类型,选择可公开访问的端点类型。
-
对于自定义主机名,选择无。
-
选择下一步。
-
-
在选择域名中,选择 Amazon S3。
-
在配置其他详细信息中,对于加密算法选项,选择包含允许服务器使用的加密算法的安全策略。我们的最新安全策略是默认策略:有关详细信息,请参阅Amazon Transfer Family 服务器的安全策略。
注意
只有在为服务器添加托管工作流程时,才选择 “创建新的CloudWatch日志记录角色”。要记录服务器事件,您无需创建 IAM 角色。
-
在审核并创建中,选择创建服务器。您将进入服务器页面。
您的新服务器状态更改为在线可能需要几分钟时间。此时,您的服务器可以执行文件操作,但您需要先创建一个用户。有关创建用户的详细信息,请参阅管理服务器端点的用户。
步骤 3:添加服务托管用户
要向启用 SFTP 的服务器添加用户
-
在 “服务器” 页面上,选择要向其添加用户的服务器。
-
选择添加用户。
-
在用户配置部分的用户名中,输入用户名。此用户名长度最少为 3 个字符,最多为 100 个字符 你可以在用户名中使用以下字符:a—z、A-Z、0—9、下划线 '_'、连字符 '-'、句点 ' 。 '和 at 符号 (@)。用户名不能以连字符、句点或 @ 符号开头。
-
对于访问权限,请选择您在中创建的 IAM 角色创建 IAM 角色和策略。此 IAM 角色包括一个 IAM 策略,该策略包含访问您的 Amazon S3 存储桶的权限,以及与该 Amazon Transfer Family 服务的信任关系。中概述的程序建立信任关系显示了如何建立适当的信任关系。
-
对于策略,选择无。
-
在主目录中,选择要用来存储传输的数据的 Amazon S3 存储桶 Amazon Transfer Family。输入
home
目录的路径。这是您的用户使用客户端登录时看到的目录。我们建议使用包含用户名的目录路径,以便您可以选择使用会话策略。会话策略限制用户在 Amazon S3 存储桶中访问该用户的
home
目录。有关使用会话策略的更多信息,请参阅会话策略工作原理。如果您愿意,可以将此参数保留为空以使用您的 Amazon S3 存储桶的
root
目录。如果您选择此选项,请确保您的 IAM 角色提供对root
目录的访问权限。 -
选中 “受限” 复选框可防止您的用户访问其
home
目录之外的任何内容。这还可以防止用户看到 Amazon S3 存储桶名称或文件夹名称。 -
对于 SSH 公钥,请按
ssh-rsa
格式输入 SSH 密钥对的 SSH 公钥部分。<string>
您的密钥必须经过服务验证,然后才能添加新用户。有关如何生成 SSH 密钥对的更多信息,请参阅为服务托管用户生成 SSH 密钥。
-
(可选)对于键和值,输入一个或多个标记作为键-值对,然后选择添加标记。
-
选择 Add (添加) 可将您的新用户添加到所选服务器。
新用户将出现在服务器详细信息页面的用户部分。
步骤 4:使用客户端传输文件
通过在客户端中指定传输操作,您可以通过 Amazon Transfer Family 服务传输文件。 Amazon Transfer Family 支持多个客户端。有关详细信息,请参阅 使用客户端通过服务器端点传输文件
本部分包含使用 Cyberduck 和 OpenSSH 的过程。
使用 Cyberduck
Amazon Transfer Family 使用 Cyberduck 传输文件
-
打开 Cyberduck
客户端。 -
选择打开连接。
-
在打开连接对话框中,选择 SFTP(SSH 文件传输协议)。
-
对于服务器,输入您的服务器端点。服务器端点位于服务器详细信息页面上,请参阅查看 SFTP、FTPS 和 FTP 服务器的详细信息。
-
在端口号中,输入
22
SFTP。 -
对于 Username (用户名),输入您在管理服务器端点的用户中创建的用户的名称。
-
对于SSH 私有密钥,请选择或输入 SSH 私有密钥。
-
选择连接。
-
执行文件传输。
根据您的文件所在的位置,执行以下操作之一:
-
在您的本地目录(源)中,选择您要传输的文件,然后将这些文件拖放到 Amazon S3 目录(目标)中。
-
在 Amazon S3 目录(源)中,选择您要传输的文件,然后将这些文件拖放到您的本地目录(目标)中。
-
使用 OpenSSH
按照下文中的说明,使用 OpenSSH 从命令行传输文件。
注意
此客户端仅适用于启用 SFTP 的服务器。
Amazon Transfer Family 使用 OpenSSH 命令行实用程序传输文件
-
在 Linux 或 Macintosh 上,打开命令终端。
-
在提示符中,输入以下命令:
% sftp -i transfer-key sftp_user@service_endpoint
在前面的命令中,
sftp_user
是用户名,transfer-key
是 SSH 私有密钥。此处service_endpoint
是服务器的终端节点,如所选服务器的 Amazon Transfer Family 控制台中所示。此时应显示
sftp
提示符。 -
(可选)要查看用户的主目录,请在
sftp
提示符下输入以下命令:sftp> pwd
-
在下一行上,输入以下文本:
sftp> cd /mybucket/home/sftp_user
在本入门练习中,将此 Amazon S3 存储桶作为文件传输的目标。
-
在下一行上,输入以下命令:
sftp> put filename.txt
put
命令将文件传输到 Amazon S3 存储桶中。此时将显示类似于下文的消息,指示文件传输正在进行或者已完成。
Uploading filename.txt to /my-bucket/home/sftp_user/filename.txt
some-file.txt 100% 127 0.1KB/s 00:00