View a markdown version of this page

在 macOS、Linux 或 Unix 系统创建 SSH 密钥 - AWS Transfer Family

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

在 macOS、Linux 或 Unix 系统创建 SSH 密钥

在 macOS、Linux 或 Unix 操作系统中,您可以使用 ssh-keygen 命令创建 SSH 公钥和 SSH 私钥(也称为密钥对)。

注意

在以下示例中,我们未指定密码:在这种情况下,该工具会要求您输入密码,然后重复密码进行验证。创建密码可以更好地保护您的私钥,还可以提高系统整体安全性。您无法恢复密码:如果您忘记了密码,则必须创建新的密钥。

但是,如果要生成服务器主机密钥,则必须通过在命令中指定 -N "" 选项(或者在出现提示时按 Enter 两次)指定空密码,原因是 Transfer Family 服务器无法在启动时请求密码。

若要在 macOS、Linux 或 Unix 操作系统上创建 SSH 密钥
  1. 在 macOS、Linux 或 Unix 操作系统,打开命令终端。

  2. AWS Transfer Family 接受 RSA、ECDSA-和密钥。 ED25519-formatted 根据您生成的密钥对类型选择相应的命令。

    提示key_name替换为 SSH 密钥对文件的实际名称。

    • 生成 RSA 4096 位密钥对:

      ssh-keygen -t rsa -b 4096 -f key_name
    • 若要生成 ECDSA 521 位密钥对(ECDSA 大小为 256、384 和 521),请执行以下操作:

      ssh-keygen -t ecdsa -b 521 -f key_name
    • 生成 ED25519 密钥对。

      ssh-keygen -t ed25519 -f key_name

    下面是 ssh-keygen 输出的示例。

    ssh-keygen -t rsa -b 4096 -f key_name Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in key_name. Your public key has been saved in key_name.pub. The key fingerprint is: SHA256:8tDDwPmanTFcEzjTwPGETVWOGW1nVz+gtCCE8hL7PrQ bob.amazon.com The key's randomart image is: +---[RSA 4096]----+ | . ....E | | . = ... | |. . . = ..o | | . o + oo = | | + = .S.= * | | . o o ..B + o | | .o.+.* . | | =o*+*. | | ..*o*+. | +----[SHA256]-----+

    提示:当你如前所示运行ssh-keygen命令时,它会将公钥和私钥创建为当前目录中的文件。

    您的 SSH 密钥对现已准备就绪,可供使用。按照步骤 3 和 4 为您的服务管理用户存储 SSH 公钥。这些用户在 Transfer Family 服务器端点上传输文件时使用密钥。

  3. 导航到 key_name.pub 文件并打开它。

  4. 复制文本并将其粘贴至服务托管用户的 SSH 公钥中。

    1. 在处打开 AWS Transfer Family 控制台 https://console.aws.amazon.com/transfer/,然后从导航窗格中选择服务器。

    2. 服务器页面,选择包含要更新用户服务器的服务器 ID

    3. 选择要为其添加公钥的目标用户。

    4. SSH 公钥窗格,选择添加 SSH 公钥

      AWS Transfer Family 控制台,显示所选用户的用户详细信息。
    5. 将您生成的公钥文本粘贴至 SSH 公钥文本框中,然后选择添加密钥

      AWS Transfer Family 控制台,显示用于添加公钥的添加密钥页面。

      新密钥列于 SSH 公钥窗格。

      AWS Transfer Family 控制台,在 SSH 公钥部分显示新添加的公钥。