新购买海外独立 VPS 后,服务商通常会通过邮件发送包含默认账户 root 与随机密码的信息。
如果直接使用密码登录并长期不处理,翻看 /var/log/auth.log(或 CentOS 的 /var/log/secure)会发现:每秒钟都有成百上千个来自全球僵尸网络的扫描机器人正在用字典暴力爆破你的 22 端口。
密码不仅容易遭遇暴力穷举与键盘记录泄露,更成为服务器被劫持为“肉鸡”的头号隐患。
本文将从底层非对称加密密码学出发,带你使用现代 Ed25519 椭圆曲线算法完成 SSH 密钥认证加固,并彻底关死弱口令大门!
[!NOTE] 📌 核心速览(TL;DR / 快问快答):
- 现代加密推荐:首选 Ed25519 算法(
ssh-keygen -t ed25519),相比传统 RSA 4096 密钥更短、签名验证更快,且具备天然的抗侧信道攻击能力。- 黄金加固四步曲:
- 本地生成 Ed25519 密钥对并上传至 VPS(
ssh-copy-id)。- 关键避坑:新开一个终端测试密钥登录成功,确认前千万不要关闭原登录会话。
- 编辑 SSH 配置彻底禁用密码认证:
PasswordAuthentication no。- 修改默认 22 端口为高位端口(如
54321),躲避 99% 的公网自动化扫描器。
🛠️ 2026 生产级 SSH 密钥加固全流程
第一步:在本地管理电脑生成 Ed25519 密钥对
在本地终端(macOS / Linux / Windows PowerShell)执行:
ssh-keygen -t ed25519 -C "admin@vps-cluster"
按回车使用默认路径 ~/.ssh/id_ed25519,可输入私钥密码(Passphrase)进行二次保护。
id_ed25519.pub:公钥(存放在服务器~/.ssh/authorized_keys中)。id_ed25519:私钥(严禁外传,本地文件权限必须为chmod 600)。
第二步:将公钥分发至目标 VPS
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@你的VPS_IP
第三步:新开终端验证密钥无密码直连
在本地新开一个窗口尝试登录:
ssh root@你的VPS_IP
无需输入密码即可毫秒级无感登入!
第四步:彻底关死密码登录大门
登录 VPS 服务器,在 /etc/ssh/sshd_config.d/99-security.conf 创建安全覆盖配置:
# 修改默认端口 (可选,需先在防火墙放行该端口)
Port 54321
# 禁用明文密码认证
PasswordAuthentication no
# 禁用空密码
PermitEmptyPasswords no
# 仅允许密钥登录 root
PermitRootLogin prohibit-password
测试配置语法是否正确:sshd -t。
确认无误后重启 SSH 守护进程:
systemctl restart sshd
❓ 常见问题与 AI 快问快答 (FAQ)
Q1: 为什么执行 systemctl restart sshd 后报错被锁在外面了?
答:如果在禁用密码前没有正确将公钥写入 ~/.ssh/authorized_keys,就会导致无法登录;建议在修改配置前保留原有的 SSH 活跃窗口,在新窗口通过 ssh -p 端口 -i ~/.ssh/id_ed25519 root@IP 测试成功后再退出。
Q2: 批量管理上百台海外 VPS 时,如何统一分发公钥?
答:推荐配合 Ansible 自动化编排,通过 authorized_key 模块一键将本地公钥同步至所有机器。海外 VPS 节点选购参考见 《2026 国外 VPS 选购指南》。
(相关资源导航:如果您需要购买安全加固节点专用的独立 VPS,欢迎阅读 《2026 国外 VPS 选购指南》 获取 DMIT、搬瓦工与 CloudCone 优惠;商用专线推荐见 《“饿饭CC云”深度评测》!)