本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 macOS、Linux 或 Unix 系统创建 SSH 密钥
在 macOS、Linux 或 Unix 操作系统中,您可以使用 ssh-keygen
命令创建 SSH 公钥和 SSH 私钥(也称为密钥对)。
注意
在以下示例中,我们未指定密码:在这种情况下,该工具会要求您输入密码,然后重复密码进行验证。创建密码可以更好地保护您的私钥,还可以提高系统整体安全性。您无法恢复密码:如果您忘记了密码,则必须创建新的密钥。
但是,如果要生成服务器主机密钥,则必须通过在命令中指定 -N ""
选项(或者在出现提示时按 Enter
两次)指定空密码,原因是 Transfer Family 服务器无法在启动时请求密码。
若要在 macOS、Linux 或 Unix 操作系统上创建 SSH 密钥
-
在 macOS、Linux 或 Unix 操作系统,打开命令终端。
-
AWS Transfer Family 接受 RSA-、ECDSA-和 ED25519-格式的密钥。根据您生成的密钥对类型选择相应的命令。
提示:
替换为 SSH 密钥对文件的实际名称。key_name
-
生成 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 服务器端点上传输文件时使用这些密钥。
-
-
导航到
文件并打开它。key_name
.pub -
复制文本并将其粘贴至服务托管用户的 SSH 公钥中。
-
打开 AWS Transfer Family 控制台 https://console.aws.amazon.com/transfer/
,然后从导航窗格中选择 “服务器”。 -
在服务器页面,选择包含要更新用户服务器的服务器 ID。
-
选择要为其添加公钥的目标用户。
-
在 SSH 公钥窗格,选择添加 SSH 公钥。
-
将您生成的公钥文本粘贴至 SSH 公钥文本框中,然后选择添加密钥。
新密钥列于 SSH 公钥窗格。
-