如何使用 ssh-keygen 生成 SSH 密钥 Linux/Ubuntu?

SSH(安全 Shell) 允许用户通过安全连接远程执行某些任务,例如文件传输、端口转发、隧道创建、远程服务器配置等。 SSH客户端已预安装 Linux 系统。 SSH提供两种密码认证方式: 密码认证基于公钥的身份验证(SSH 密钥)。 在这些技术中,与它支持的较长密码相比,基于公钥的身份验证可实现更高级别的安全性 密码

本文介绍如何生成 SSH 密钥 ssh 注册机 在 Linux/Ubuntu 22.04 LTS。 本文将讨论:

  • 如何生成/创建 SSH 密钥 Linux/Ubuntu?
  • 如何生成/创建不同类型和大小的 SSH 密钥?
  • 如何使用 SSH 密钥登录或连接到远程服务器?
  • 如何禁用 SSH 密码验证?

如何使用 ssh-keygen 生成/创建 SSH 密钥 Linux/Ubuntu?

要生成 SSH 密钥对,需要执行以下步骤:

步骤1:检查SSH密钥对是否存在

在开始 SSH 密钥生成过程之前,用户可以检查系统中是否已存在 SSH 密钥,因为如果系统中已存在 SSH 密钥,则密钥将被覆盖。 用户可以运行以下命令来检查系统中是否存在 SSH 密钥:

$ LS -l/.ssh/ID_*.pub

从上图可以看出系统中没有SSH密钥。

步骤2:生成SSH密钥对

SSH密钥对是通过运行以下命令生成的

$ ssh 注册机

然后提示用户输入存储密钥和密码的文件位置。 然后使用标准参数生成 SSH 密钥对,即 RSA 类型为 3072 位。 密钥存储在 /home/linuxuser/.ssh 默认目录。

步骤 3:验证 SSH 密钥生成

要检查是否生成了密钥,请运行以下命令:

$ LS -l/.ssh/ID_*.pub

通过上图可以查看SSH key是否已经生成。 可以通过导航到 /home/linuxuser/.ssh 目录来查看生成的密钥 光盘 命令:

$ 光盘 //Linux用户/.ssh

从上图可以看出公钥和私钥已经成功生成,即 id_rsa.pubid_rsa。 这些键可以通过查看 命令。

要查看公钥,请运行以下命令:

$ id_rsa.pub

同样,可以通过运行以下命令查看私钥:

$ id_rsa

如何生成/创建不同类型和大小的 SSH 密钥?

ssh 注册机 默认情况下,生成 RSA 类型和 3072 位的密钥,但用户可以使用以下命令更改这些参数 类型 (-t) 尺寸 (-b) 标志后面跟着 ssh 注册机 命令 可以生成三种类型的密钥:

  • RSA(里维斯特·沙米尔·阿德曼):RSA 使用单独但数学上相关的密钥进行加密和解密。 它使用 2048 和 3072 位的密钥大小。
  • DSA(数字签名算法):DSA 比 RSA 更快。 DSA 通常使用 1024 位的密钥大小。
  • ECDSA(椭圆曲线数字签名算法):ECDSA 比 DSA 和 RSA 更安全、更快速。 此外,ECDSA 使用较低的带宽,并通过使用较小的密钥大小(即 256、384 和 521 位)实现更高级别的安全性。

以下命令生成 384 位 ECDSA 密钥:

$ ssh 注册机 -T ECDSA -B 第384章

在哪里:

  • t:类型,例如RSA、DSA、ECDSA。
  • b:位(256 位、384 位或 521 位)

然后提示用户输入存储密钥和密码的文件位置。 然后生成 ECDSA 类型和大小 384 的 SSH 密钥对。

要检查是否生成了密钥,请运行以下命令:

$ LS -l/.ssh/ID_*.pub

从上图可以验证SSH密钥: id_ecdsa.pub 被生产。

如何使用 SSH 密钥登录远程服务器?

用户可以使用生成的 SSH 密钥登录远程服务器,如下所示:

步骤一:将公钥复制到 Ubuntu 远程服务器。

开放SSH 是一种连接工具,可以对文件传输和远程登录进行安全加密。 以下命令将安装 Open SSH

$ sudo 合适的 安装 openssh 服务器

继续安装。 Open SSH 安装需要几秒钟才能完成。

可以通过以下方式检查 SSH 服务的状态:

$ sudo 服务 SSH 地位

从上图可以看到SSH服务是活跃的。 接下来,通过运行以下命令将之前生成的公钥复制到远程服务器:

$ ssh-复制-id linuxuser@Ubuntu

在哪里:

  • ssh-copy-id:用于将 SSH 密钥复制到服务器的命令行工具。
  • linuxuser:用户名。
  • Ubuntu:远程服务器的 IP 或主机名。

上述命令可用于检查公钥是否已添加到远程服务器。

第 2 步:使用 SSH 密钥登录/连接到远程服务器

用户可以通过以下方式登录远程服务器 ssh命令 通过运行以下命令:

$ SSH Linux用户@Ubuntu

在哪里:

  • linuxuser:用户名。
  • Ubuntu:远程服务器IP或主机名。

然后,系统会提示用户输入在生成 SSH 密钥时选择的私钥的密码:

Enter 输入密码并按 开锁 登录远程服务器:

从上图可以看到远程服务器登录成功。

如何禁用 SSH 密码验证?

通过禁用 SSH 密码身份验证可以启用额外的安全层。 要禁用 SSH 密码验证,用户可以按照以下步骤操作:

  • 使用以下命令登录远程服务器 sudo 权限并修改SSH配置文件ie sshd_配置 通过运行以下命令:

$ sudo 纳米 /ETC/SSH/sshd_配置

  • 注释掉“密码验证是”行。
  • 将“是”替换为“否”,如下所示:

  • 按保存并退出文件 [Ctrl+O] 和 [Ctrl+X]。
  • 通过运行以下命令重新启动 ssh:

$ sudo 重启系统ctl SSH

  • 检查 SSH 的状态以确保 SSH 已启动并正在运行。

$ sudo 系统控制状态 SSH

上图确认服务器上禁用了 SSH 密码身份验证。

文凭

SSH 密钥对由“ssh 注册机”命令。此外,还可以通过“选择按键类型和大小”-T” 和 ”-B” flags 或 本文展示了如何使用 ssh-keygen 生成 SSH 密钥 Linux/Ubuntu 22.04 LTS。 此外,通过注册 Ubuntu 本文还介绍了如何使用具有 SSH 公钥的远程服务器以及禁用基于密码的身份验证。