Vultr如何生成 SSH 密钥?

SSH 密钥允许您在没有密码的情况下登录服务器。本指南介绍如何使用 OpenSSH 格式的 Linux、Mac 或 Windows 工作站创建 SSH 密钥,适用于[Vultr](https://www.vultr.com/?ref=9602284)服务器实例。 使用OpenSSH创建SSH密钥 ---------- ...

Vultr如何生成 SSH 密钥?

SSH 密钥允许您在没有密码的情况下登录服务器。本指南介绍如何使用 OpenSSH 格式的 Linux、Mac 或 Windows 工作站创建 SSH 密钥,适用于Vultr服务器实例。

使用OpenSSH创建SSH密钥

OpenSSH 是标准配置,应该存在于macOS 和大多数 Linux 发行版上。我们还为 Windows 10 用户则需要额外的安装。按照以下步骤使用 OpenSSH 实用程序创建 SSH 密钥。

生成您的密钥 ,命令行中替换成您的电子邮件地址。ssh-keygen

$ ssh-keygen -t ed25519 -C "your_email@example.com"

> 注意:如果您使用不支持 Ed25519 算法的旧系统,请使用:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

默认情况下,密钥存储在 ~/.ssh 目录中。大多数 SSH 客户端会自动使用以下默认文件名:

算法:ED25519(首选)

  • 公钥:id_ed25519.pub
  • 私钥:id_ed25519

算法:RSA(至少 2048 位密钥大小)

  • 公钥:id_rsa.pub
  • 私钥:id_rsa

算法:DSA(已弃用)

  • 公钥:id_dsa.pub
  • 私钥:id_dsa

算法:ECDSA

  • 公钥:id_ecdsa.pub
  • 私钥:id_ecdsa

按下回车键保存在默认位置。

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/example/.ssh/id_ed25519):

您可以输入密钥的密码。我们建议使用密码,但您可以按下回车以绕过此提示。如果您使用密码,则每次使用该密钥时都会输入该密码,除非您还使用ssh-agent

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

您的密钥已生成并保存。

Your identification has been saved in /Users/example/.ssh/id_ed25519. Your public key has been saved in /Users/example/.ssh/id_ed25519.pub.
The key fingerprint is:
 SHA256:qx6prR4Zo+VU7Fl8yivXzzzzzzzzJ/9NRnPbrC20w7g example@example.com The key's randomart image is:
+--[ED25519 256]--+
| | | o . | | o B o + . | | B + + o + | | = = S o o o | | = + = O + + | | . + B B = * . | | = O + o | | .+o=.. E . |
+----[SHA256]-----+

备份私钥。如果丢失,密钥将无法恢复。

在使用 SSH 密钥连接到现有服务器之前,您需要将公钥添加到文件中。您还可以将公钥添加到您的 Vultr 帐户。

在 Windows 10 上安装 OpenSSH

OpenSSH 客户端是 Windows 10 1809 的可安装组件。

  1. 启动**“设置**”,然后转到**“应用**”>“应用和功能>“管理可选功能”。
  2. 扫描此列表以查看是否已安装 OpenSSH 客户端。如果没有,请单击添加功能
  3. 找到 OpenSSH 客户端,然后单击安装
  4. (可选)还可以使用 PowerShell 安装 OpenSSH 客户端

安装 OpenSSH 后,请按照上述说明创建 SSH 密钥。

使用 PuTTYgen 在 Windows 上创建 SSH 密钥

PuTTYgen 是 PuTTY 实用程序套件的一部分。它适用于所有版本的 Windows。

  1. 下载最新版本的 PuTTY 实用程序。建议使用 MSI Windows Installer 程序包。
  2. 安装软件包并运行 PuTTYgen。
  3. 在程序窗口的底部,选择键类型。EdDSA
  4. 在右下角,将“用于生成此键的曲线”设置为 。Ed25519 (255 bits)
  5. 单击**“Generate** ”按钮。然后,在空白区域移动鼠标以生成一些随机数据。
  6. 输入Key comment ,以便以后更易于识别密钥。
  7. 私钥必须安全无虞,防止未经授权的使用。我们建议输入密钥密码来保护 SSH 密钥。
  8. 单击Save private key并安全存储。如果丢失此文件,则无法恢复。此文件是 PuTTY 格式的公钥/私钥对。您将来可以使用 PuTTYgen 重新导入此文件,以导出或转换公钥的格式。
  9. 单击 Conversions > Export OpenSSH key。保存此文件并安全地存储。此文件是 OpenSSH 格式的私有 SSH 密钥。如果您使用 PuTTY 以外的 SSH 客户端,则可能需要此文件。
  10. 选择**“Public key for pasting into OpenSSH authorized_keys file**”框中的文本,并将其保存到文件中。这是 OpenSSH 格式的公钥。如果要将此密钥添加到您的 Vultr 帐户,您还需要将其复制并粘贴到用户面板。

恢复丢失的公钥

如果您有权访问私钥,则可以使用 OpenSSH 恢复公钥。

将选项和带有选项的私钥路径传递给 ssh-keygen。当 ssh-keygen 重新生成公共 SSH 密钥时,您可以将输出重定向到您选择的文件。-y``-f

例如,要重新生成公钥并将输出发送到:~/example_key``~/example_key.pub

$ ssh-keygen -y -f ~/example_key > ~/example_key.pub

如果为密钥设置了密码,系统将提示您输入密码。

更改密钥的密码

您可以使用该选项更改私钥上的密码,并使用该选项传递密钥名称。-p``-f

$ ssh-keygen -p -f ~/example_key

在提示符下输入您的新旧密码(两次)。

查看钥匙的指纹

使用该选项打印密钥的 SHA256 指纹,并使用该选项传递密钥名称。-l``-f

$ ssh-keygen -l -f example_key

输出如下所示:

3072 SHA256:pqdEtfbmIRwqTk9PpApa7DMvAxqCA577vJ/FcgyUM0Q root@localhost (RSA).

将密钥传输到服务器

OpenSSH 包含一个实用程序,用于将密钥传输到您的服务器。使用此实用程序时,必须使用 SSH 向服务器进行身份验证。

使用该选项指定要传输的公钥。将该示例替换为您的用户名和服务器的 IP 地址。-i

$ ssh-copy-id -i ~/.ssh/example_key.pub example_user@192.0.2.123

系统将提示您向服务器进行身份验证,并将密钥传输到远程服务器的文件中。authorized_keys

关于 SSH 密钥格式

OpenSSH 6.5 在 2014 年引入了ED25519密钥,它们在大多数操作系统上都可用。据信,ED25519密钥比 RSA 更安全,性能更好。如果使用 RSA 密钥,美国国家科学技术研究院建议密钥大小至少为 2048 位。

ESC 关闭