如何在 Linux 上设置无密码 SSH 身份验证

随着不断发展的网络安全环境,密码变得容易受到攻击。 系统比以往任何时候都更容易受到暴力攻击。 用户还可以通过使用弱且经常被猜到的密码保护系统,从而使黑客更容易渗透到他们的系统中。 2 因素身份验证现在很普遍,它使用 OTP 代码提供了额外的保护层,以确保它实际上是用户登录系统。

保护服务器的另一种方法是在服务器上设置无密码 SSH 身份验证。 这使用公钥 SSH 身份验证,其中在本地系统上生成 SSH 密钥对。 密钥对由一个私有和一个公共 SSH 密钥组成。 私钥保留在本地系统上,而公钥上传到远程系统。 在身份验证期间,保存在远程系统上的公钥和本地系统上的私钥之间会发生密钥交换。 因此,后续连接是安全的,不需要密码。

在本指南中,我们将通过 3 个简单的步骤向您介绍如何配置密码 SSH 身份验证。

无密码 SSH 设置实验室

出于演示目的,我们将使用以下实验室设置:

Local Linux system - 192.168.2.104
Remote Linux system - 192.168.2.108

谨慎的做法是确保您可以使用 SSH 密码身份验证从本地系统访问远程系统。

让我们开始吧!

步骤 1. 生成 SSH 密钥对

马上,我们将生成一个 SSH 密钥对,它将存储在主目录中。 所以,调用 ssh-keygen 命令如图。 在这里,我们正在创建一个 4096 位的密钥对。

$ ssh-keygen -b 4096

只需按 ENTER 即可接受默认值。 您可以在 SSH 密钥对中找到 ~/.ssh 目录,它是您的主文件夹中的隐藏目录。

只是为了确定使用 ls 命令来检查 SSH 密钥的存在。

$ ls .ssh

私钥表示为 id_rsa 尽管 id_rsa.pub 是公钥。 这些是加密的加密密钥。 稍后,我们将把公钥复制到远程系统。