如何将 SSH 密钥添加到新的或现有的 VPS
使用 SSH Keys 实现安全、无密码访问
管理您的 Linux VPS 或 dedicated server 需要强大的安全性,而 SSH key authentication 是实现安全、无密码访问的黄金标准。与传统密码不同,SSH keys 使用强加密来提供更快、更安全的登录,非常适合手动访问和自动化工作流程。例如,为您的 ava.hosting VPS 设置 SSH keys 可确保对 web server 的安全访问,同时实现与 Git 或 Ansible 等工具的无缝集成。本指南将带您了解如何为新服务器或现有服务器生成、添加和使用 SSH keys,并针对 ava.hosting 的高性能基础设施进行了优化。
什么是 SSH Key,为什么要使用它?
SSH key pair 由两部分组成:
- Public key:保存在 server 上
- Private key:安全地保存在您的本地设备上
当您通过 SSH 连接时,您的系统会证明它持有 private key,而 server 会授予访问权限——无需密码。
使用 SSH Keys 的优势:
| 功能 | 优势 |
|---|---|
| 强加密 | 几乎不可能被暴力破解 |
| 无需存储密码 | 消除了密码泄露或重复使用的风险 |
| 更快登录 | 即时身份验证 |
| 适合自动化 | 非常适合脚本、Git、Ansible、CI/CD tools |
选项 1:在创建新的 VPS 时添加 SSH Key
您可以在 VPS 创建过程中添加 SSH key——快速且安全。
步骤:
- 登录到您的 hosting provider 的控制面板并开始 VPS 设置流程
- 找到 SSH Key 或 Authorized Keys 部分
- 粘贴您的 public key(见下文如何生成)
- 完成部署——一旦 VPS 上线,您就可以通过 SSH 无需密码登录
💡 如果多个用户或设备需要访问,您可以添加多个 keys。
选项 2:向现有 VPS 添加 SSH Key
已经有正在运行的 server?以下是手动添加 public key 的方法:
步骤 1:生成 SSH Key(如果您还没有)
在您的本地机器上(Linux/macOS/WSL/Windows Terminal):
ssh-keygen -t ed25519 -C "your@email.com"- 按 Enter 确认默认文件位置
- 输入 passphrase 以获得额外保护(可选)
步骤 2:复制 Public Key
使用此命令显示您的 public key:
cat ~/.ssh/id_ed25519.pub或者直接复制到您的 VPS:
ssh-copy-id username@your-server-ip将 username(通常是 root)和 your-server-ip 替换掉。
步骤 3:手动方法(可选)
如果 ssh-copy-id 不可用,请使用密码登录并运行:
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys粘贴您的 public key,保存文件,然后:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys完成——现在您可以无需输入密码登录。
⚙ 如何使用 SSH Key 连接
一旦您的 public key 已在 server 上,就可以这样连接:
ssh root@your-server-ip如果您将 key 保存为自定义文件名:
ssh -i ~/.ssh/my_custom_key root@your-server-ipSSH Keys 存储在哪里?
| 位置 | 用途 |
|---|---|
| ~/.ssh/id_ed25519 | 您的 private key(请妥善保管!) |
| ~/.ssh/id_ed25519.pub | Public key(可安全分享) |
| /root/.ssh/authorized_keys | 用于访问的 VPS 位置 |
安全提示:禁用密码登录
为了获得额外保护,请完全禁用 password authentication:
- 编辑 SSH config:
nano /etc/ssh/sshd_config - 更改:
PasswordAuthentication no
PermitRootLogin prohibit-password - 重启 SSH:
systemctl restart sshd
⚠ 仅在确认 key 登录正常工作后再执行此操作。
结论
SSH key authentication 是安全、无密码访问您的 ava.hosting VPS 或 dedicated server 的基石。通过消除密码漏洞并实现快速、加密的登录,SSH keys 非常适合手动管理和自动化工作流程。例如,您可以使用 SSH keys 安全地将更新部署到 server 上的 Node.js app,或使用
rsync自动执行备份。通过本指南,您可以在几分钟内设置 SSH keys,确保安全、可扩展且高效的 server 管理体验。


