在 Linux 上生成 SSH 密钥
SSH代表Secure Shell,顾名思义,它用于在客户端与其服务器之间建立安全连接。默认情况下,每个基于 Linux 的操作系统都支持 SSH。 SSH 协议通常用于远程访问、命令和传输文件。因此,在这篇文章中,您将演示如何生成 SSH 密钥并使用它们来保护服务器和宝贵信息。
SSH 密钥生成
当我们生成SSH密钥对时,它是分两步生成的。一是在客户端创建 SSH 密钥,二是将其复制到服务器或任何远程主机。密钥对由 ~/.ssh 目录中分别名为 id_rsa 和 id_rsa.pub 的私钥和公钥文件组成。
我的客户端系统的IP地址是
可以通过在终端中运行“ssh-keygen”命令来生成 SSH 密钥。
它会要求您输入要保存私钥和公钥的文件名,或者您可以使用“.ssh”目录(/home/用户/.ssh/id_rsa)。按 Enter 键选择默认提供的文件。
接下来,它会要求输入密码。密码实际上是一种额外的安全层,用于保护主机和客户端之间的连接。当您登录主机时,它会再次要求输入密码。因此,要么输入密码,要么将其留空并按 Enter 键而不提供任何密码。
完成密码短语后,应该会生成 SSH 密钥。
您可以在屏幕截图中注意到生成的密钥是“RSA 3072”。这意味着什么?
SSH 密钥的算法类型和大小
默认情况下,生成的密钥算法类型为RSA,位大小为3072位。但如果您愿意,您可以更改它。
生成 SSH 密钥的算法主要分为三种类型。
RSA——Rivest Shamir Adleman。它是最小尺寸为 2048 的密钥,它是基于大数因式分解的难度而设计的。
DSA——数字签名算法。此键主要用于 1024 尺寸。
ECDSA – 椭圆曲线数字签名算法。它支持 256、384 和 521 位。
现在,如果您想提供所需的算法类型和位大小,您可以在 ssh-keygen 命令后提供算法类型,后跟 -t 短语,还可以提供位大小,后跟 -b短语。示例如下:
正如您在屏幕截图中看到的,密钥的算法类型是 RSA,位大小是 4096。这很好。
将 SSH 密钥复制到主机
您只需在客户端终端中运行下面给出的命令即可将 SSH 密钥复制到主机。
确保将用户名和主机 IP 地址替换为您的用户名和主机的 IP 地址。我的主机的用户名和 IP 地址是
IP Address: 192.168.18.131
此时您可能会遇到端口 22 拒绝连接的错误。如果出现错误,请访问我们的专门文章(如何修复:Debian/Ubuntu 端口 22 拒绝连接 - Linux 提示)来处理此类错误。
运行上述命令后,将向您确认是否继续连接;输入“是”继续。
复制成功后,您就可以使用 SSH 密钥登录服务器的计算机了。
登录服务器
成功将 SSH 密钥复制到主机后,我们可以使用 ssh 命令并使用以下语法提供主机的用户名和 IP 地址来登录主机。
不要忘记将用户名和 IP 地址替换为主机的用户名和 IP 地址。
如果您在终端中输入“ip a”命令,您现在就登录到主机了。
它将显示主机的 IP 地址,因为您现在位于服务器上。
包起来
您可以通过这种方式生成 SSH 密钥、将其复制到主机并使用 SSH 密钥访问主机。太感谢了!