在我们的 搬瓦工VPS正规使用与服务器安全加固指南 中,我们提到了保障服务器安全的“三板斧”:更新系统、修改端口、强化密码。但只要服务器还允许“密码登录”,理论上就始终面临被暴力破解、撞库尝试和弱口令泄露的风险。要真正把 SSH 安全提升到一个更高的级别,最有效的方法就是:禁用密码登录,改用 SSH 密钥登录。

通过 SSH 密钥登录替代传统密码登录,提升搬瓦工VPS安全性
如果您还没有完成 SSH 端口修改,建议先阅读 搬瓦工如何修改SSH端口,先完成基础加固,再继续配置 SSH 密钥登录,整体安全性会更高。
您可以把它理解为:把服务器门口原来的“密码锁”,升级为一把几乎无法被猜测、也无法被暴力穷举的“数字指纹锁”。配置完成后,只有持有您私钥的设备,才能成功登录服务器。
这篇文章会作为您的“安全升级工程师”,一步一步带您完成整个过程:从本地生成密钥,到上传公钥,再到最终关闭密码登录。
一、SSH密钥登录的工作原理
正式开始之前,我们先用一分钟理解一下 SSH 密钥是如何工作的。
- 我们会在自己的电脑上生成一对密钥:一把是私钥,一把是公钥。
- 私钥保存在您自己的电脑里,绝对不能泄露;公钥则可以安全地上传到服务器。
- 我们把公钥添加到搬瓦工VPS服务器的授权列表中。
- 以后登录服务器时,服务器会要求您的电脑用“私钥”来证明身份。
- 如果验证通过,您就能成功登录,全程无需输入服务器密码。
简单来说:
- 私钥:只在您自己电脑上保存,相当于“身份凭证”,绝不能外泄。
- 公钥:上传到服务器,相当于“备案信息”,可以公开存在。
二、在本地电脑生成SSH密钥对
请注意,密钥对必须在您自己的电脑上生成,而不是在 VPS 服务器上生成。
1、Windows 用户(推荐使用 Xshell 自带工具)
- 如果您尚未安装Xshell,可以参考这篇教程:Xshell 和 Xftp 官方正版免费下载教程
- 打开 Xshell。
- 点击顶部菜单栏:工具(Tools) -> 新建用户密钥生成向导(New User Key Generation Wizard)。
- 如果您的Xshell版本支持
Ed25519,建议优先选择;如果界面中只提供RSA,则建议选择4096位,而不是较旧的2048位。 - 点击“下一步”,等待密钥生成完成。
- 为这对密钥设置一个便于识别的名称,例如
bwg_key。 - 强烈建议在“密码(Passphrase)”处,再为私钥设置一个加密口令。这样即使私钥文件被别人拿到,对方也不能直接使用。
- 点击“下一步”后,您会看到生成的公钥内容。请点击“保存为文件(Save as file…)”,将公钥保存到桌面,例如命名为
bwg_key.pub。 - 点击“完成”。

通过 Xshell 的向导,可以轻松生成并保存您的 SSH 密钥对。
2、macOS / Linux 用户(使用系统原生命令)
- 打开“终端(Terminal)”。
- 输入以下命令并回车:
ssh-keygen -t ed25519 -C "your_email@example.com"
如果您因为兼容性原因必须使用RSA,也可以使用:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 按提示选择保存路径。直接回车即可使用默认位置,通常是:
~/.ssh/ - 系统会提示您为私钥设置口令(Passphrase)。建议设置,这样更安全。
- 生成完成后,您会在
~/.ssh/目录下看到密钥文件。
常见文件如下:
id_ed25519:私钥,绝对不能泄露id_ed25519.pub:公钥,可以上传到服务器
如果您使用的是RSA,则文件名通常会是:
id_rsa:私钥id_rsa.pub:公钥
三、将公钥上传到搬瓦工服务器
虽然您也可以通过命令行手动把公钥追加到服务器的 ~/.ssh/authorized_keys 文件中,但对于搬瓦工用户来说,我们更推荐直接使用 KiwiVM 面板内置的 SSH Keys 功能。
这样做有两个明显优点:
- 操作更简单,尤其适合新手;
- 更重要的是:即使以后您重装系统,KiwiVM 也会自动把已保存的公钥重新写回服务器,避免您因为重装后无法登录而手忙脚乱。
第一步:进入 SSH Keys 管理页面
- 登录您的 KiwiVM 控制面板。
- 在左侧菜单中点击
SSH Keys。
第二步:添加您的公钥
- 在
Paste new public SSH keys here...下方的文本框中,完整粘贴您的公钥内容。 - 如果您生成的是 Ed25519 密钥,公钥一般会以
ssh-ed25519开头;如果您生成的是 RSA 密钥,则通常以ssh-rsa开头。 - 您也可以为这把密钥设置一个名称(Key Name),方便后续识别。
- 点击
Save SSH keys按钮保存。

KiwiVM 提供了一键添加 SSH 公钥的功能,并且在重装系统后仍可自动恢复,非常实用。
它的工作原理其实也不复杂:您在 KiwiVM 里保存的公钥,会先进入面板的“密钥仓库”。以后每次重装系统时,KiwiVM 都会自动把这些公钥重新写入服务器中的授权文件里,通常是:
/root/.ssh/authorized_keys
这样一来,即使您重装了系统,也依然可以继续通过密钥登录。
四、测试SSH密钥是否可以正常登录
这一步非常关键,请不要跳过。
在关闭密码登录之前,您必须先确认:
- 当前这台电脑已经成功保存了私钥;
- 公钥已经正确添加到 KiwiVM;
- 您可以通过密钥方式正常登录服务器。
最稳妥的做法是:
- 先不要关闭当前已经登录的SSH窗口;
- 重新打开一个新的终端或Xshell会话;
- 使用密钥方式重新连接一次您的VPS;
- 确认能够正常登录后,再进行下一步“禁用密码登录”的操作。
只有这样做,才能最大限度避免把自己锁在服务器门外。
如果您在测试密钥登录时遇到连接失败、超时或长时间无响应的问题,可以先参考 搬瓦工 SSH 连接失败/超时怎么办?极故障排查指南,逐项排查网络、端口、防火墙和 SSH 服务状态后,再继续进行下一步操作。
如果您确认公钥、私钥和 SSH 配置都没有问题,但连接依然经常超时,也有可能是本地网络或线路路由异常导致的。这种情况下,您可以进一步阅读 如何使用 MTR 测试 VPS 回程路由?,判断问题究竟出在服务器本身还是网络链路上。
五、禁用SSH密码登录
当您已经确认“密钥登录可以正常使用”之后,就可以正式关闭密码登录了。
- 先通过SSH密钥方式登录到您的VPS。
- 使用
nano编辑器打开 SSH 配置文件:
nano /etc/ssh/sshd_config
在文件中找到或添加以下几项:
PubkeyAuthentication yes PasswordAuthentication no KbdInteractiveAuthentication no PermitRootLogin prohibit-password
这几项的含义分别是:
PubkeyAuthentication yes:开启密钥登录PasswordAuthentication no:关闭密码登录KbdInteractiveAuthentication no:关闭交互式密码验证,避免留下额外入口PermitRootLogin prohibit-password:允许 root 通过密钥登录,但禁止 root 使用密码登录
修改完成后,保存文件并退出。
不要急着重启 SSH 服务,先检查配置是否有语法错误:
sshd -t
如果执行后没有任何报错,说明配置语法正常。这时候再重启 SSH 服务:
systemctl restart sshd
如果上面的命令提示服务名称不存在,您也可以尝试:
systemctl restart ssh
不同 Linux 发行版的服务名称可能略有不同,这属于正常情况。
再次提醒:在执行这一步之前,请务必确认您已经在“新开的第二个窗口”中成功测试过密钥登录。否则,一旦配置错误或密钥未生效,您就可能直接失去对服务器的访问权限。
需要说明的是,本文中的大多数 SSH 安全配置修改,只需要重启 SSH 服务即可生效,通常并不需要重启整台VPS。如果您后续确实遇到系统无响应、面板操作或计划任务重启等场景,再参考 如何重启搬瓦工VPS?手动与定时自动重启终极教程 会更合适。
六、私钥保管与安全注意事项
很多用户完成配置后,会误以为“服务器已经绝对安全了”。其实,SSH密钥登录的安全性很高,但前提是:您的私钥必须保管好。
这里给您几个简单但很重要的建议:
- 不要把私钥随意发给别人,也不要上传到网盘公开分享;
- 尽量为私钥设置口令(Passphrase);
- 建议在自己的常用电脑上保留一份备份,但不要到处复制;
- 如果怀疑私钥已经泄露,请立刻删除服务器上的旧公钥,并重新生成一对新的密钥。
七、总结
完成以上设置后,您的搬瓦工VPS在 SSH 登录安全方面,就已经迈出了非常关键的一步。
从现在开始:
- 服务器不再接受传统密码登录;
- 暴力破解和撞库攻击的风险会大幅降低;
- 只有持有您私钥的设备,才有权限登录服务器。
这不仅能显著提升服务器安全性,也是一名 VPS 用户从“能用”迈向“会用、用得更安全”的重要标志。
当“更新系统 + 修改端口 + 使用SSH密钥登录”这三步都做到位后,您的服务器整体安全性就会提升一个明显的档次。
| 套餐 | CPU | 内存 | 硬盘 | 流量 | 带宽 | 机房 | 价格 | 购买 |
|---|---|---|---|---|---|---|---|---|
| KVM (最便宜) | 2核 | 1GB | 20GB | 1TB | 1Gbps | 9个 | $49.99/年 | 立即选购 |
| 3核 | 2GB | 40GB | 2TB | 1Gbps | 9个 | $52.99/半年 | 立即选购 | |
| CN2 GIA-E (最推荐) | 2核 | 1GB | 20GB | 1TB | 2.5Gbps | 15个 | $49.99/季度 | 立即选购 |
| 3核 | 2GB | 40GB | 2TB | 2.5Gbps | 15个 | $89.99/季度 | 立即选购 | |
| SLA (SLA 保障) | 2核 | 1GB | 20GB | 1TB | 2.5Gbps | 1个 | $65.89/季 | 立即选购 |
| 3核 | 2GB | 40GB | 2TB | 2.5Gbps | 1个 | $116.99/季 | 立即选购 | |
| 香港 (高端) | 2核 | 2GB | 40GB | 0.5TB | 1Gbps | 15个 | $89.99/月 | 立即选购 |
| 4核 | 4GB | 80GB | 1TB | 1Gbps | 15个 | $155.99/月 | 立即选购 | |
| 大阪 (高性价比) | 2核 | 2GB | 40GB | 0.5TB | 1.5Gbps | 15个 | $49.99/月 | 立即选购 |
| 4核 | 4GB | 80GB | 1TB | 1.5Gbps | 15个 | $86.99/月 | 立即选购 | |
选择建议 入门使用KVM 套餐价格最低,适合建站、学习 Linux、简单测试和预算有限的新手用户。 综合推荐CN2 GIA-E 套餐线路更好、可选机房更多,适合长期使用,也是多数用户优先考虑的方案。 高端需求香港、东京、大阪等高端线路价格更高,适合对国内访问速度、低延迟和稳定性要求较高的用户。 |
||||||||
套餐汇总:搬瓦工在售方案汇总 | 购买教程:搬瓦工注册与购买教程 | 优惠码:最新搬瓦工优惠码 |
||||||