SSH 用于通过使用密钥值对(如私钥和公钥)来验证和验证用户。 此类密钥是使用 ssh-keygen 命令生成的。 您可以生成不同类型的密钥,如 RSA、DSA 等。
在本文中,我们将讨论使用 ssh-keygen 命令生成不同密钥的过程,这些密钥对 SSH 使用的公钥和私钥进行身份验证。 我们将在 Ubuntu 20.04 LTS 服务器。
使用 ssh-keygen
在使用 ssh-keygen 命令时,您可以生成不同类型的密钥,如 RSA、DSA 等。 因此,首先让我们借助下面讨论的要点来理解这些键。
- $HOME/.ssh/id_rsa:用户的RSA认证身份文件。 它只能由用户读取。
- $HOME/.ssh/id_rsa.pub:用于身份验证的 RSA 公钥文件。
这些公钥文件被复制到远程服务器,以便用户可以使用 SSH 身份验证登录。 它被复制到远程服务器的 $HOME/.ssh/authorized_keys 文件。
- $HOME/.ssh/id_dsa:用户的DSA认证身份文件。 它只能由用户读取。
- $HOME/.ssh/id_dsa.pub:用于身份验证的 DSA 公钥文件。
ssh-keygen 创建 RSA 密钥
此处,ssh-keygen 用于创建用于身份验证的 RSA 密钥。 默认情况下,如果您只使用 ssh-keygen 命令,它会生成 rsa 密钥。 让我们通过执行如下所示的命令来生成 rsa 密钥。
$ ssh-keygen -t rsa
或者
$ ssh-keygen
执行上述命令后,您将看到类似如下的输出。
在这里,公钥即 id_rsa.pub 和私钥即 id_rsa 保存在默认位置 $HOME/.ssh/。
由于需要将公钥复制到远程服务器,以便用户可以使用 SSH 身份验证登录。 它被复制到远程服务器的 $HOME/.ssh/authorized_keys 文件。 让我们检查使用上述命令生成的公钥。
$ cat id_rsa.pub
只需复制此公钥并将其粘贴到此位置:用于身份验证的远程服务器的 $HOME/.ssh/authorized_keys 文件。
ssh-keygen 创建 DSA 密钥
同样,也可以通过简单更改命令来创建 DSA 密钥。 默认情况下,如果您只使用 ssh-keygen 命令,它会生成 rsa 密钥。 但是要生成 DSA 密钥,只需将 -t dsa 作为参数放在命令中即可。 有关更多详细信息,您可以执行如下所示的命令。
$ ssh-keygen -t dsa
当你执行上面的命令时,你可以得到如下输出:
公钥即 id_dsa.pub 和私钥即 id_dsa 也保存在默认位置 $HOME/.ssh/。
您可以简单地将公钥复制到远程服务器,供用户使用 SSH 身份验证登录。 它被复制到远程服务器的 $HOME/.ssh/authorized_keys 文件。 让我们检查使用上述命令生成的公钥。
$ cat id_dsa.pub
复制此公钥并将其粘贴到此位置:用于身份验证的远程服务器的 $HOME/.ssh/authorized_keys 文件。
结论
在本文中,您了解了如何生成不同类型的密钥(如 RSA、DSA 以进行身份验证)以及如何通过将公钥复制到远程服务器的 $HOME/.ssh/authorized_keys 文件来连接到不同的远程服务器。 谢谢你!