如果您生活的一部分包括登录远程服务器,无论是为了自托管博客、安装 Nextcloud还是将您的最新更改发送到GitHub,您都需要 SSH 密钥。在 Windows 10 和 11 中,当涉及到生成新密钥时,我们被宠坏了。

以下是如何使用三种不同的方法创建您需要的所有 SSH 密钥。如果您想为多个站点创建不同的密钥,我们将向您展示如何生成初始密钥集以及其他密钥集。

选项 1:在命令行中生成密钥

自 2018 年 4 月更新以来,Windows 10 已内置 OpenSSH 客户端。Windows 11 还内置了此功能。

要使用它,请按 Windows 键并键入“cmd”打开 Windows 命令提示符

无论您使用命令提示符还是 Windows 终端,请键入ssh-keygen并按 Enter。这将自动生成 SSH 密钥。在我们在 Windows 11 上的测试中,它创建了一个 2048 位的 RSA 密钥。如果您想使用不同的算法(例如GitHub 推荐 Ed25519 ),那么您可以输入ssh-keygen -t ed25519.

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

键入命令后按 Enter,然后系统会提示您为密钥命名并将其保存在特定位置。如果您使用默认值,那么它会将您的密钥保存在 –C:\User[YourUserName].ssh假设 C 驱动器是您的用户帐户的存储位置。

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

接下来,系统会要求您输入密码。我们强烈建议您这样做以确保您的密钥安全。如果您担心忘记密码,请查看Review Geek 上的最佳密码管理器汇总。如果您真的不想要密码,那么只需按 Enter。

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

就是这样,您的密钥已创建、保存并可供使用。您将看到“.ssh”文件夹中有两个文件:没有文件扩展名的“id_rsa”和“id_rsa.pub”。后者是您上传到服务器进行身份验证的密钥,而前者是您不与他人共享的私钥。

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

如果您想为不同的站点创建多个密钥,那也很容易。举例来说,您想使用我们刚刚为您在 Digital Ocean 上的服务器生成的默认密钥,并且您想为 GitHub 创建另一组密钥。您将遵循与上述相同的过程,但是当需要保存您的密钥时,您只需给它一个不同的名称,例如“id_rsa_github”或类似的名称。您可以根据需要多次这样做。请记住,您拥有的密钥越多,您需要管理的密钥就越多。当您升级到新 PC 时,您需要将这些密钥与其他文件一起移动,否则可能会至少暂时失去对服务器和帐户的访问权限。

选项 2:在 WSL 中生成密钥

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

如果您是WSL用户,则可以对WSL 安装使用类似的方法。事实上,它与命令提示符版本基本相同。你为什么想做这个?如果您主要使用 Linux 执行命令行任务,那么将您的密钥保存在 WSL 中是有意义的。

打开 Windows 终端或内置的 Ubuntu 命令提示符(假设您安装了 Ubuntu Linux)。然后它与Windows非常相似。与 Windows 不同,最好指定是否需要 RSA 密钥或 Ed25519 之类的东西。

假设您想创建一个 RSA-4096 密钥。您将输入以下命令:

ssh-keygen -t rsa -b 4096

如果你想要 Ed25519,那么推荐的方法如下:

ssh-keygen -t ed25519 -C "[email protected]"

建议添加您的电子邮件地址作为标识符,但您不必在 Windows 上这样做,因为 Microsoft 的版本会为此自动使用您的用户名和您的 PC 名称。

同样,要为不同的站点生成多个密钥,只需在文件名末尾标记“_github”之类的内容。

选项 3:使用 PuTTY 生成密钥

多年来,老式PuTTY 程序一直是与Windows 中的服务器进行通信的流行方式。如果您的系统上已经安装了这个程序,它还提供了一种创建 SSH 密钥的方法。

PuTTY 附带了许多帮助程序,其中之一称为 PuTTY 密钥生成器。要打开它,可以通过点击 Windows 键并输入“puttygen”来搜索它,或者在“开始”菜单中搜索它。

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

打开后,在窗口底部,您将看到要生成的各种类型的密钥。如果您不确定要使用哪个,请选择“RSA”,然后在“生成的密钥中的位数”输入框中输入“4096”。另一种选择是选择“EdDSA”,然后从其下方出现的下拉菜单中确保选择“Ed25519(255 位)”。

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

现在,您只需单击“生成”,PuTTY 就会开始工作。这不应该花费太长时间,具体取决于您的系统的强度,PuTTy 会要求您在窗口内移动鼠标,以帮助在密钥生成过程中创建更多的随机性。

完成后,单击“保存公钥”以保存您的公钥,并将其保存在您想要的位置,名称为“id_rsa.pub”或“id_ed25519.pub”,具体取决于您在前面的步骤中选择了 RSA 还是 Ed25519。

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

然后要获取您的私钥,还需要一个额外的步骤。默认情况下,PuTTY 会生成供 PuTTy 客户端使用的 PPK 密钥。但是,如果您需要 OpenSSH,请在窗口顶部选择转换 > 导出 OpenSSH 密钥,然后将文件另存为“id_rsa”或“id_ed25519”,没有文件结尾。

如何在 Windows 10 和 Windows 11 中生成 SSH 密钥-LMLPHP

无论您选择哪种方法,生成 SSH 密钥都非常简单。我们建议您使用 Windows 命令提示符选项,除非您已经安装了 PuTTY,或者更喜欢 Linux 并了解该系统。

11-25 13:34