Linux 基础:如何在 Shell 上创建和安装 SSH 密钥Linux 基础:如何在 Shell 上创建和安装 SSH 密钥Linux 基础:如何在 Shell 上创建和安装 SSH 密钥Linux 基础:如何在 Shell 上创建和安装 SSH 密钥
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

Linux 基础:如何在 Shell 上创建和安装 SSH 密钥

在此页

  1. 在 Linux 上安装 SSH 密钥 - 分步指南
    1. 第一步:创建 RSA 密钥对
    2. 第二步:复制公钥
    3. 第三步(此步骤可选):禁用密码以促进根登录

    SSH 密钥提供了一种使用 SSH 登录服务器的高度安全的方式,而不是仅仅依赖于密码。虽然密码有被最终破解的风险,但使用暴力破解 SSH 密钥是不可能的。事实上,生成密钥对为用户提供了两个冗长的字符串,分别对应一个公钥和一个私钥。因此,用户可以将公钥放在任何服务器上,随后通过与已经拥有私钥的客户端连接来解锁。匹配两把钥匙后,系统就可以解锁,而无需依赖密码。通过使用密码保护私钥,可以进一步巧妙地设置安全防火墙。

    在 Linux 上安装 SSH 密钥 - 分步指南

    下面概述了一个分步指南,详细介绍了在 Linux 服务器上安装 SSH 密钥的过程:

    第一步:创建 RSA 密钥对

    安装过程的第一步是在客户端计算机上创建密钥对,这通常是您自己的系统。用户需要使用以下命令:

    ssh-keygen -o -b 4096 -t rsa

    上面的命令启动了用户的 SSH 密钥安装过程。 -o 选项指示 ssh-keygen 以新的 OpenSSH 格式而不是旧的(和更兼容的 PEM 格式)存储私钥。强烈建议使用 -o 选项,因为新的 OpenSSH 格式增强了对暴力破解密码的抵抗力。如果 -o 选项在您的服务器上不起作用(它已于 2014 年引入)或者您需要旧 PEM 格式的私钥,请使用命令 ssh-keygen -b 4096 -t rsa。

    出于安全原因,ssh-keygen 命令的 -b 选项用于将密钥长度设置为 4096 位而不是默认的 1024 位。

    输入主要 Gen Key 命令后,用户需要通过回答以下提示来完成以下练习:

    Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

    用户需要按 ENTER 才能将文件保存到用户主目录

    下一个提示如下:

    Enter passphrase

    如果作为管理员,您希望分配密码,您可以在出现提示时这样做(根据上述问题),尽管这是可选的,并且您可以将该字段留空以防您不希望分配密码。

    然而,需要注意的是,输入唯一的密码短语确实提供了以下列出的一系列好处:

    1. 密钥的安全性,即使是高度加密的,在很大程度上取决于它对任何其他方的不可见性。 I 2. 在密码安全私钥落入未授权用户保管的可能情况下,他们将无法登录其关联帐户,直到他们能够破解密码为止。这总是给受害者(被黑客攻击的用户)宝贵的额外时间来避免黑客攻击 不利的一面是,为密钥分配密码短语需要您在每次使用密钥对时都输入它,这使得过程有点麻烦乏味,但绝对安全。

    以下是端到端密钥生成过程的大致概述:

    公钥现在可以追溯到链接 ~/.ssh/id_rsa.pub

    私钥(标识)现在可以追溯到链接-/home/demo/.ssh/id_rsa 3

    第二步:复制公钥

    一旦生成了不同的密钥对,下一步就是将公钥放在我们打算使用的虚拟服务器上。用户可以使用 ssh-copy-id 命令将公钥复制到新机器的 authorized_keys 文件中。下面给出了用于键入用户名和 IP 地址的规定格式(严格来说是示例),并且必须替换为实际的系统值:

    ssh-copy-id 

    作为替代方案,用户可以使用 SSH 粘贴密钥(按照给定的命令):

    cat ~/.ssh/id_rsa.pub | ssh  "cat >> ~/.ssh/authorized_keys"

    以上任一命令在使用时都会在您的系统上抛出以下消息:

    无法确定主机 192.168.0.100 的真实性。 RSA 密钥指纹是 b1:2d:32:67:ce:35:4d:5f:13:a8:cd:c0:c4:48:86:12。您确定要继续连接吗(是/否)?是 警告:将 192.168.0.100 (RSA) 永久添加到已知主机列表中。 [email \,并检查:~/.ssh/authorized_keys 以确保我们没有添加您不期望的额外密钥。

    完成上述练习后,用户就可以继续登录 [email ,而不会提示输入密码。但是,如果您之前已经为密钥分配了密码(按照上面的第 2 步),此时系统将提示您输入密码(以及每次后续登录时)。

    第三步(此步骤可选):禁用密码以促进根登录

    用户将他们的 SSH 密钥复制到您的服务器并确保仅使用 SSH 密钥无缝登录后,他们可以选择限制 root 登录,并仅允许通过 SSH 密钥进行登录。为此,用户需要使用以下命令访问 SSH 配置文件:

    sudo nano /etc/ssh/sshd_config

    访问文件后,用户需要在文件中找到包含 PermitRootLogin 的行,并对其进行修改以确保使用 SSH 密钥进行万无一失的连接。以下命令将帮助您做到这一点:

    PermitRootLogin without-password

    该过程的最后一步仍然是使用以下命令实施更改:

    reload ssh

    以上就完成了在Linux服务器上安装SSH密钥的过程。

    将 OpenSSH 私钥转换为新格式

    大多数较旧的 OpenSSH 密钥都以 PEM 格式存储。虽然这种格式与许多较旧的应用程序兼容,但它的缺点是受密码保护的私钥的密码可能会受到暴力攻击。本章介绍如何将 PEM 格式的私钥转换为新的 OpenSSH 格式的私钥。

    ssh-keygen -p -o -f /root/.ssh/id_rsa

    路径 /root/.ssh/id_rsa 是旧私钥文件的路径。

    结论

    上述步骤将帮助您以完全安全、可靠和无忧的方式在任何虚拟专用服务器上安装 SSH 密钥。

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