15%

Alexhost 满足您的愿望

参与调查 并赢得奖品

22.10.2024
No categories

如何将SSH公钥上传到现有的VPS

AlexHost 使用 SSH 密钥是处理身份验证的最安全和高效的方法之一。如果您有一个现有的 VPS 并希望切换到使用 SSH 密钥(或添加新密钥),这是一个简单的过程,通过允许无密码登录来提高安全性。在本指南中,我们将引导您如何将 SSH 公钥上传到现有的 VPS,确保未来的登录既安全又简单。

为什么使用 SSH 密钥?

SSH 密钥被广泛用于保护对远程服务器的访问。它们相对于传统密码提供了几个优势:

  • 更强的安全性:SSH 密钥使用加密身份验证,这比强密码更难破解。
  • 无密码登录:一旦设置,SSH 密钥允许您在不输入密码的情况下登录到服务器。
  • 防止暴力破解攻击:通过消除密码,SSH 密钥可以防止针对猜测登录凭据的暴力破解攻击。

前提条件

在您开始之前,您需要:

  1. 访问您现有的 VPS:这意味着您可以使用 SSH 登录到 VPS,可能是使用密码。
  2. 一对 SSH 密钥:如果您没有,我们将介绍如何生成它。
  3. 基本的 SSH 命令知识:需要熟悉命令行界面(CLI)。

步骤 1:生成 SSH 密钥对(如果您没有)

如果您在本地计算机上还没有 SSH 密钥对,可以创建一个。方法如下:

在您的本地计算机(macOS 或 Linux)上打开终端并运行以下命令:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

此命令将创建一个 4096 位的 RSA 加密密钥对。在此过程中,系统会询问您将密钥保存到何处:

  • Enter 将密钥保存到默认位置(~/.ssh/id_rsa)。
  • 可选地,为额外的安全性添加一个密码短语(推荐),或按 Enter 跳过此步骤。

此过程生成两个文件:

  • id_rsa:您的私钥(请妥善保管,切勿分享)。
  • id_rsa.pub:您的公钥(这是您将上传到服务器的内容)。

接下来,显示公钥以便您可以复制它:

ssh root@your_vps_ip

复制输出(您的公钥),因为您将在下一步中需要它。

步骤 2:登录到您的 VPS

要将新的 SSH 公钥添加到虚拟机,您需要使用当前的方法(无论是使用密码还是现有密钥)登录。打开终端并运行:

ssh root@your_vps_ip

your_vps_ip 替换为您的 VPS 的实际 IP 地址。如果您使用不同的用户帐户登录(不是 root),请将 root 替换为相应的用户名。

步骤 3:创建 .ssh 目录(如果不存在)

登录后,确保您使用的用户帐户存在 .ssh 目录。如果不存在,请使用以下命令创建它:

mkdir -p ~/.ssh
chmod 700 ~/.ssh

此命令创建 .ssh 目录并设置正确的权限,以便只有当前用户可以访问它。

步骤 4:将公钥添加到 authorized_keys 文件

现在您已经有了 .ssh 目录,您需要通过将 SSH 公钥添加到 authorized_keys 文件来将其上传到 VPS。此文件包含允许对服务器进行身份验证的公钥。

  1. 使用文本编辑器(如 nano)打开 authorized_keys 文件:
    nano ~/.ssh/authorized_keys

    如果文件不存在,此命令将创建它。

  2. 将您的公 SSH 密钥(您之前从 id_rsa.pub 复制的那个)粘贴到文件中。右键单击或使用终端的粘贴功能插入密钥。
  3. 通过按 Ctrl + X,然后 Y,最后按 Enter 保存并关闭文件。
  4. authorized_keys 文件设置正确的权限:
    chmod 600 ~/.ssh/authorized_keys

此步骤确保文件仅对当前用户可访问。

步骤 5:测试 SSH 密钥登录

在将 SSH 密钥添加到 VPS 后,您应该测试设置,以确保您可以无密码登录。

  1. 通过输入以下内容退出当前的 SSH 会话:
    exit
  2. 现在,尝试使用您的 SSH 密钥重新登录到 VPS:
    ssh root@your_vps_ip

    如果一切设置正确

  3. ,您将无需输入密码即可登录到 VPS。

步骤 6(可选):禁用密码身份验证

为了额外的安全性,您可以禁用基于密码的身份验证,仅允许拥有 SSH 密钥的用户访问 VPS。此步骤是可选的,但建议在安全性优先的环境中进行。

要禁用密码身份验证:

  1. 在您的 VPS 上打开 SSH 配置文件:
    nano /etc/ssh/sshd_config
  2. 在配置文件中找到以下行,并确保它们设置如下:
    PasswordAuthentication no
    PubkeyAuthentication yes
  3. 通过按 Ctrl + X,然后 Y,最后按 Enter 保存并关闭文件。
  4. 重启 SSH 服务以应用更改:
    systemctl restart sshd

现在,只有拥有有效 SSH 密钥的用户才能登录到 VPS。

步骤 7:管理多个 SSH 密钥

如果您管理多个 VPS 或远程服务器,您可能希望组织您的 SSH 密钥并配置您的 ~/.ssh/config 文件以方便使用。以下是一个示例配置,允许您为不同的服务器指定不同的 SSH 密钥:

Host myvps HostName your_vps_ip
User root
IdentityFile ~/.ssh/id_rsa

在将此内容添加到您的 SSH 配置文件(~/.ssh/config)后,您可以简单地登录:

ssh myvps

结论

将 SSH 公钥添加到现有 VPS 显著增强了您的远程服务器的安全性,同时简化了登录过程。通过遵循本指南,您可以轻松上传您的 SSH 公钥并配置您的 VPS 以实现无密码登录。为了增强安全性,考虑完全禁用密码身份验证,确保只有授权的 SSH 密钥可以访问您的 VPS。此设置不仅保护您的服务器免受未经授权的访问,还通过消除每次登录时输入密码的需要来简化您的工作流程。

15%

Alexhost 满足您的愿望

参与调查 并赢得奖品

Похожие записи не найдены.