实施基于SSH密钥的身份验证的3个步骤(ssh用户身份验证密码是什么)

实施基于SSH密钥的身份验证的3个步骤(ssh用户身份验证密码是什么)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-08-02
文章简介

SecureShell(SSH)仍然是连接到远程Linux服务器和各种网络设备的实际方式。随着对Ansible等自动化技术的更大依赖,它的使用不仅没有失去重要性,反而有所增加。 假设您的开发团队在他

2025阿里云双十一服务器活动

SecureShell(SSH)仍然是连接到远程Linux服务器和各种网络设备的实际方式。随着对Ansible等自动化技术的更大依赖,它的使用不仅没有失去重要性,反而有所增加。

假设您的开发团队在他们的测试环境中建立了一个新的网络服务器,并且忽略了在服务器的防火墙中打开端口80和443。团队与您联系,要求您解决问题。您可以使用SSH远程访问网络服务器。您建立连接,在出现提示时输入密码并完成防火墙配置。它快速、简单且安全。但是有更好的方法吗?

本教程涵盖实施和使用基于密钥的身份验证以支持更轻松的SSH身份验证和改进的自动化。SSH身份验证方法可能是CompTIALinux+和CompTIASecurity+考试的主题。

在您的家庭实验室中将本教程与两个或多个基于Linux的虚拟机一起使用。熟悉基于密钥的身份验证的另一种好方法是在连接到RaspberryPi计算机时使用它。这些设备是开始使用Linux的好方法。

SSH的标准语法包括ssh命令、连接用户的名称以及目标设备的名称或IP地址。之后,远程系统提示输入帐户密码。

图1:标准SSH连接的密码挑战

您现在已连接到系统,可以根据您当前的身份进行更改或使用sudo提升您的权限。

什么是基于SSH密钥的身份验证?

基于密钥的身份验证通过使用公钥/私钥对替换SSH身份验证质询中的“您知道的”密码部分。这种非对称加密唯一地标识了用户。也许更重要的是,至少在自动化的情况下,它不需要手动输入密码。SSH自动传递身份验证密钥。假设远程系统接受密钥,则身份验证是立即且无声的。

实施基于密钥的身份验证很简单,包括三个步骤:

您还可以编辑/etc/ssh/sshd_config文件以要求在您的远程系统上进行基于密钥的身份验证。

以下是这三个实施步骤的更多详细信息。

公钥/私钥对是一组在数学上相关的密钥,可以唯一地标识用户或计算机。Linux?ssh-keygen命令生成密钥。根据您组织的安全要求,您可以使用-t选项来创建各种类型的密钥。选项包括RSA、DSA和ECDSA。

使用以下命令在您将连接到远程设备的客户端计算机上创建密钥对:

检查~/.ssh目录中的密钥。您将看到id_rsa(私钥)和id_rsa.pub(公钥)。密钥名称可能因所选的加密方法而异。

图2:ssh-keygen命令生成公钥/私钥对

实施基于SSH密钥的身份验证的3个步骤,ssh用户身份验证密码是什么

密钥生成实用程序为您提供了设置密码的机会。按两次Enter跳过此提示。您可能不想设置密码,尤其是当您在自动化环境中使用SSH时。

密钥对现在驻留在您的客户端计算机上。这可能是您办公桌上用于远程连接到您负责的各种设备的计算机。下一步是将公钥复制到远程系统。

Linux也有针对此任务的特定命令。命令是ssh-copy-id。例如,要将用户student的密钥复制到远程服务器192.168.1.101,请键入:

#ssh-copy-id学生@192.168.1.101

图3:ssh-copy-id命令将用户的公钥复制到远程服务器

远程系统提示您输入密码。键入用于连接到目标服务器的用户帐户的密码。如果一切顺利,这是您最后一次必须输入此密码。

您可以检查远程系统的~/.ssh/authorized_keys文件并找到公钥。

测试新的身份验证方法就像建立SSH连接一样简单。键入通常的ssh命令并观察远程系统不会向您询问密码。你只是连接!

图5:基于密钥的SSH连接没有密码挑战

SSH连接在后台传递公钥,证明您的身份。

明显的好处是易于连接。不再被要求输入密码很方便。在自动化的背景下,基于密钥的身份验证使管理员不必输入或尝试保护文件中的密码。自动化工具可以在管理员不在场的情况下使用SSH连接并完成它们的任务。很难夸大此功能在当今自动化世界中的重要性。

强制执行基于密钥的身份验证

SSH的基于密钥的身份验证肯定会改善您组织的安全状况。要实施此方法,请更新远程服务器上的/etc/ssh/sshd_config文件以要求基于密钥的身份验证并拒绝基于密码的连接尝试。

打开远程服务器上的/etc/ssh/sshd_config文件进行编辑。找到读取PubKeyAuthentication的节并将其编辑为yes。找到PasswordAuthentication的节并将其设置为no。

当您这样做时,请考虑其他SSH安全最佳实践,例如将用户列入白名单和拒绝root帐户的远程连接。以下条目可能有助于更好地保护您的SSH连接。在生产环境中实施它们之前,请务必了解并测试它们。一个错误可能会停止与服务器的远程连接。

基于SSH密钥的身份验证对于当今的远程管理和自动化任务至关重要。花几分钟清点您经常通过SSH连接的Linux服务器和网络设备,然后创建一个密钥对。将公钥复制到这些系统。我还鼓励您将这些目标设备配置为需要SSH密钥进行身份验证并拒绝基于密码的尝试。

如果您正在准备CompTIALinux+、CompTIASecurity+或CompTIACybersecurityAnalyst(CySA+)等认证考试,请确保您可以识别与基于密钥的身份验证相关的组件和命令。在您的家庭实验室环境中完成这些步骤,直到它们成为第二天性。

标签:
怎么在深圳云服务器上搭建网站(如何在云服务器上搭建网站)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!