Ubuntu 一步一步生成 SSH 密钥Ubuntu 一步一步生成 SSH 密钥Ubuntu 一步一步生成 SSH 密钥Ubuntu 一步一步生成 SSH 密钥
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Ubuntu 一步一步生成 SSH 密钥

SSH 被称为 Secure Shell,是最流行的网络协议,可帮助在服务器和客户端之间建立安全连接。使用 SSH,用户可以安全地在远程服务器上运行命令、转发端口、创建隧道以及执行其他操作。 SSH 支持不同类型的身份验证技术。最常见的机制之一是密码身份验证,另一种是基于公钥的身份验证。在这两种方法中,基于公钥的身份验证比密码身份验证方法和基于数字签名的方法更安全、更方便。

本文将为您提供 Ubuntu 系统的分步 SSH 密钥生成指南。我们将讨论如何在 Ubuntu 20.04 系统上生成 SSH 密钥并设置基于 SSH 密钥的身份验证。让我们深入了解细节!

先决条件

在 Ubuntu 20.04 系统上运行管理命令需要 root 用户权限。

在Ubuntu 20.04系统上生成SSH密钥

通过以下步骤,您可以轻松地在 Ubuntu 20.04 系统上生成 SSH 密钥:

第 1 步:创建 SSH 密钥对

首先,在 Ubuntu 客户端计算机上生成 SSH 密钥。这台机器与服务器连接。

验证 SSH 密钥对是否存在

在创建 SSH 密钥之前,请确保您的客户端系统上还没有 SSH 密钥。有时,您的 Ubuntu 系统上已经有 SSH 密钥对。因此,当您创建新的密钥对时,它将覆盖旧的密钥对。要验证 SSH 密钥文件是否存在于您的客户端计算机上,请键入以下命令:

$ ls -l ~/.ssh/id_*.pub

生成新的 SSH 密钥对

如果您收到一条错误消息“没有这样的文件或目录”,则表示您的计算机上没有 SSH 密钥。因此,继续下一步。在 Ubuntu 客户端计算机上生成 SSH 密钥对。要生成新的 4096 位密钥对并以用户电子邮件地址作为注释,请执行以下命令:

$ ssh-keygen -t rsa -b 4096 -C "samreena_email@yahoo.com"

或者

$ ssh-keygen

如果运行上述命令“ssh-keygen”,它会生成默认的 3072 位 RSA 密钥对。要将 SSH 密钥保存在“.ssh/”子目录的默认位置,请按“Enter”键。

现在,系统会要求输入密码。密码包含额外的安全层。但是,每次登录远程机器时都需要输入。因此,按“Enter”键将其保留为默认空。之后,终端上将显示以下整个输出屏幕:

验证生成的 SSH 密钥对

要检查客户端计算机上是否成功生成 ssh 密钥对,请使用以下命令:

$ ls ~/.ssh/id_*

终端上显示如下结果:

这意味着您已经在 Ubuntu 客户端系统上成功生成了 SSH 密钥对。

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

此步骤会将生成的 SSH 公钥复制到您要管理的远程 Ubuntu 服务器。使用“ssh-copy-id”工具,这是将公共 ID 复制到远程服务器的推荐方法。在客户端计算机上发出下面提到的命令,可以轻松地将公钥复制到远程 Ubuntu 服务器上:

$ ssh-copy-id user_name@server_IPaddress

将 server_ipaddress 替换为您的系统 IP_address。

当您第一次连接系统时,您的终端上可能会显示以下消息:

输入“yes”,然后按“Enter”继续该过程。服务器将检查并验证客户端计算机上先前生成的 SSH 密钥。在下一步中,系统将提示您输入服务器帐户的用户密码,然后按键盘上的“Enter”键。终端窗口上收到以下输出:

有时,使用 ssh-copy-id 方法会出现错误。在这种情况下,可以使用手动复制 ssh 密钥的方法。使用以下命令手动复制服务器上的 SSH 公钥:

$ cat ~/.ssh/id_rsa.pub | ssh user_name@server_ipaddress "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

将 user_name 和 server_ipaddress 替换为您计算机的详细信息。

步骤 3:使用远程服务器上的 SSH 密钥登录

在此步骤中,您将通过运行以下命令在远程服务器上通过 ssh 登录:

$ ssh user_name@server_ipaddress

如果您尚未使用私钥的安全密码,您将立即登录远程服务器。在另一种情况下,系统会要求您输入之前设置的安全密码。

步骤 4:禁用 SSH 密码验证

在此步骤中,您将禁用 SSH 密码身份验证以添加额外的安全层。禁用之前,请确保登录用户在此服务器上具有 sudo 权限或 root 帐户。首先,使用 root 帐户或 sudo 权限登录远程服务器。现在,通过执行以下命令打开“/etc/ssh/sshd_config”SSH 配置文件:

$ sudo nano /etc/ssh/sshd_config

找到以下配置行并将其设置为“no”参数。

PasswordAuthentication no

保存以上配置并退出文件。

现在是时候通过运行以下命令来重新启动服务器上的 SSH 服务了:

$ sudo systemctl restart ssh

在关闭当前会话之前,最好验证 SSH 是否仍在您的服务器上运行。如果一切正常,则说明您的服务器上的 SSH 密码身份验证已禁用。

结论

通过遵循本文的分步指南,您可以轻松生成 Ubuntu 20.04 系统的 SSH 密钥。此外,我们还讨论了如何将 SSH 密钥复制到远程服务器并禁用基于密码的身份验证。我希望本指南能够简单且描述性地解决您的 SSH 密钥问题。

©2015-2025 艾丽卡 support@alaica.com