跳到主要内容

如何生成 SSH 公钥或私钥

SSH 密钥的用途是什么?

使用公钥或私钥进行 SSH 登录认证,可以提供便利性和安全性。公钥或私钥是密码登录的安全替代方案。通过 SSH 连接服务器时,无需用户名/密码。取而代之的是,唯一的公钥和私钥提供安全认证。建议您使用与 cPanel 密码不同的密钥密码(即保护私钥的密码短语)。


  • 公钥与私钥的区别
  • 如何在 cPanel 中生成 SSH 密钥
  • 如何使用 SSH 连接服务器
  • SSH 密钥管理的最佳实践
  • 总结

公钥与私钥的区别

您的公钥存储在服务器上,而私钥存储在您本地的计算机或服务器上。访问服务器时,计算机上的私钥会与服务器上的公钥进行比对。如果两者匹配,您将获得远程访问服务器的权限。

如何在 cPanel 中生成 SSH 密钥

  • 生成公钥
  • 授权公钥
  • 查看并下载私钥

生成公钥

  1. 登录您的 Bluehost 账户管理器。
  2. 点击左侧菜单中的 Hosting(主机) 标签。
    Account Manager - Hosting tab
  3. Quick Links(快捷链接) 下,点击 cPanel
    Quick Links - cPanel button
  4. Security(安全) 分类下选择 SSH Access(SSH 访问)
    cPanel - Security section - SSH Access
  5. Manage SSH Keys(管理 SSH 密钥) 页面,点击 Generate a New Key(生成新密钥)
    Manage SSH Keys - Generate a New Key
  6. 输入新的 密钥密码,然后在 Reenter Password(重新输入密码) 字段中再次输入。
    Manage SSH Keys - Enter key password
  7. 选择密钥类型为 DSARSA
    Manage SSH Keys - DSA or RSA
    建议选择 RSA 类型的 SSH 密钥。请注意,DSA 密钥生成和签名速度更快,而 RSA 密钥验证速度更快。
  8. 选择 密钥大小。建议使用 2048 位或更高。
    Manage SSH Keys - Key size
  9. 点击 Generate Key(生成密钥)
  10. 点击 Go Back(返回) 按钮。

授权公钥

授权密钥会将公钥添加到 authorized_keys 文件中。

  1. Public Keys(公钥) 部分,点击您想授权的密钥旁的 Manage(管理)
    Manage SSH Keys - Public Keys
  2. 点击新创建密钥的 Authorize(授权) 按钮。
    Manage SSH Keys - Authorize button
  3. 点击 Go Back(返回) 返回主页面。

查看或下载私钥

私钥需要存储在您的本地计算机上。

  1. 在私钥右侧,点击 View/Download(查看/下载)
    Manage SSH Keys - View/Download Private Key
  2. 点击 Download Key(下载密钥) 按钮下载私钥。
    Manage SSH Keys - Download Key
  • 如果使用 Linux 或 Mac OS,请将 id_dsa 文件复制到您用户主目录下的 .ssh 文件夹(即 ~/.ssh)。
  • 在 Windows 上,请将其移动到安全的位置保存。

如何使用 SSH 连接服务器

Windows

要使用 PuTTY 和公钥登录服务器,请参阅《Windows 上使用 SSH(PuTTY)》获取详细步骤说明。

Linux 或 macOS

要使用 macOS 或 Linux 通过密码登录服务器,请按照以下步骤操作:

  1. 打开终端。
  2. 输入以下命令。将 port 替换为端口号,ssh-key 替换为密钥文件路径,IP 替换为您的 IP 地址。
ssh -p port -i ssh-key user@IP
  1. 输入密钥的密码短语。
    为 SSH 密钥设置密码短语非常重要,因为它能防止未授权人员访问。如果没有密码短语,任何访问您计算机的人都可能复制您的私钥。
'~/.ssh/id_dsa':

输入密码短语后,即可连接到服务器。


SSH 密钥管理的最佳实践

维护 SSH 密钥的安全对于保护系统访问至关重要。请遵循以下最佳实践,降低未授权访问风险,确保基础设施安全:

  • 使用强密码短语:始终使用强大且复杂的密码短语保护您的私钥。这样即使密钥被泄露,也能防止未授权访问。
  • 定期更换密钥:实施定期更换 SSH 密钥的策略,最大限度地减少密钥暴露风险。定期更换密钥有助于保持连接的安全性。
  • 加密私钥:在磁盘上使用强加密存储私钥。加密是防止未授权访问的第二道防线,即使系统被攻破,也能保护您的密钥。
  • 禁用密码认证:关闭服务器上的密码认证,仅依赖基于密钥的认证。这大大降低了暴力破解攻击的风险。
  • 监控密钥使用:设置 SSH 密钥使用的监控和日志记录,快速检测并响应可疑活动。这有助于及早发现潜在的安全漏洞。
  • 教育用户安全操作:教育所有用户了解不当处理 SSH 密钥的风险,促进安全意识文化。培训应涵盖密钥的正确处理、存储和使用。
  • 审计 SSH 密钥访问:定期审计 SSH 密钥及访问权限,确保仅使用授权密钥并符合组织安全政策。及时移除任何过期或未授权的密钥。

总结

本指南带您完成生成 SSH 公钥和私钥、授权公钥以及查看或下载私钥的步骤。此外,我们还提供了在 Windows、macOS 或 Linux 上使用 SSH 连接服务器的操作说明。通过使用 SSH 密钥,您可以确保登录过程的安全性。