📜  如何在 Linux 中使用 ssh-keygen 生成 SSH 密钥?(1)

📅  最后修改于: 2023-12-03 15:24:15.891000             🧑  作者: Mango

在 Linux 中使用 ssh-keygen 生成 SSH 密钥

什么是 SSH 密钥

SSH 密钥用于在 SSH 会话中进行身份验证。它们是公钥和私钥的配对,其中公钥可以放置在远程服务器上,私钥只存储在本地。当您尝试连接远程服务器时,服务器将要求您提供与其存储在其上的公钥匹配的私钥。因此,私钥存在于您的本地计算机上,而不会被暴露给任何其他人。

在 Linux 中生成 SSH 密钥

您可以使用 ssh-keygen 命令在 Linux 中生成 SSH 密钥。以下是如何执行此操作的步骤:

  1. 打开命令行终端

  2. 运行以下命令以生成 SSH 密钥:

ssh-keygen -t rsa -b 4096

这将生成一个 RSA 算法的 SSH 密钥,位数为 4096。您可以将其更改为其他密钥类型和位数。然后将提示您输入此密钥的名称和存放位置。如果您接受默认值,将在 ~/.ssh/ 中生成一个名为“id_rsa.pub”的公钥文件和一个名为“id_rsa”的私钥文件。

  1. 您可以按照提示输入密码以为私钥提供强密码保护。
使用 SSH 密钥进行身份验证

现在,您已经生成了 SSH 密钥,您可以将其上传到远程服务器以进行身份验证。将公钥文件中的密钥内容复制到远程服务器上的 ~/.ssh/authorized_keys 文件中即可。这可以通过以下命令完成:

ssh-copy-id username@remote_host

其中,username 是您在远程服务器上的用户名,remote_host 是远程服务器的 IP 地址或 FQDN。

最后,运行以下命令可以通过 SSH 密钥进行身份验证:

ssh username@remote_host -i ~/.ssh/id_rsa

其中,username 是您在远程服务器上的用户名,remote_host 是远程服务器的 IP 地址或 FQDN。

现在,您已经了解了如何在 Linux 中生成 SSH 密钥,并将其用于身份验证。