SSH 密钥登录配置指南
购买 VPS 后,大部分服务商默认提供的是账号密码登录。然而,随着公网上恶意的扫描程序和自动化工具越来越多,仅仅使用密码登录有着极高被暴力破解(爆破)的风险。
最安全的做法是:改用 SSH 密钥登录,并关闭密码登录。这样即便是世界上最顶级的黑客,在没有你的私钥的情况下也无法登入你的服务器。
什么是 SSH 密钥?
SSH 密钥由两部分组成:
- 私钥 (Private Key):存放在你自己的电脑上,绝对不能泄露给任何人。
- 公钥 (Public Key):上传并保存在你的 VPS 服务器上。
登录时,服务器通过公钥来验证你电脑上的私钥,验证匹配后即允许登录,全程无需输入密码。
步骤一:在本地电脑生成密钥对
无论你使用的是 Windows、macOS 还是 Linux 电脑,目前的系统均内置了生成 SSH 密钥的工具。
打开你本地电脑的终端(Windows 可以使用 PowerShell 或 CMD,macOS 使用 Terminal),输入以下命令并回车:
ssh-keygen -t ed25519 -C "your_email@example.com"注:-t ed25519 是一种更新、更安全、更高效的加密算法。如果较老的系统不支持,可使用 ssh-keygen -t rsa -b 4096。后面的邮箱只作为标识备注。
输入命令后,系统会连续向你询问三个问题,通常直接一直按回车键即可:
- 保存路径确认:默认保存在
~/.ssh/id_ed25519(Windows 一般在C:\Users\用户名\.ssh\id_ed25519)。 - 设置密钥保护密码(passphrase):如果设置了,每次使用私钥还需要输入这个密码。为图方便可以直接留空回车。
- 再次确认密码:留空回车。
完成后,你的本地电脑上会生成两个文件:
id_ed25519(这就是私钥)id_ed25519.pub(这就是公钥)
步骤二:将公钥上传到 VPS
目前你的公钥还在本地,接下来我们要把它放到 VPS 服务器的指定位置。我们将它放在 root 账户下(如果你使用的是其它用户如 ubuntu,请自行替换路径):
方法 1:使用快捷命令 ssh-copy-id (推荐 macOS / Linux / 较新 Windows)
在本地电脑终端中输入:
ssh-copy-id root@你的VPS_IP地址然后系统会提示你输入 VPS 的 root 密码,输入完毕回车,公钥就会被自动导入。
方法 2:手动复制公钥
如果你觉得命令不好用,也可以通过手动方式:
- 用记事本(或用
cat命令)打开本地的id_ed25519.pub文件,复制里面那一长串以ssh-ed25519开头的文本。 - 使用密码正常登录你的 VPS。
- 在 VPS 终端上执行以下命令:bash
mkdir -p ~/.ssh chmod 700 ~/.ssh nano ~/.ssh/authorized_keys - 将刚刚复制的公钥文本粘贴进去。
- 按
Ctrl + X,再按Y,然后按回车保存退出。 - 最后设置权限:bash
chmod 600 ~/.ssh/authorized_keys
步骤三:测试密钥登录是否成功
在没关闭密码登录之前,务必先测试一次密钥登录是否生效! 如果生效了,再去关闭密码,否则你可能会把你自己锁在服务器外面!
在本地电脑终端重新登录服务器:
ssh root@你的VPS_IP地址如果你发现这一次没有让你输入密码就直接登录进去了,恭喜你,密钥配置成功!
步骤四:关闭 SSH 密码登录(关键一步)
密钥登录成功后,我们需要彻底关掉传统的账号密码登录入口。
在 VPS 终端中,编辑 SSH 配置文件:
bashnano /etc/ssh/sshd_config在文件中寻找以下这两行配置项,把它们改成
no(如果前面有#号注释,记得把#删掉):textPasswordAuthentication no PermitEmptyPasswords no提示:在 nano 编辑器中可以按
Ctrl + W搜索 "PasswordAuthentication"。修改完成后,按
Ctrl + X,再按Y,回车保存退出。重启 SSH 动作使配置生效:
bashsystemctl restart sshd注意:Debian/Ubuntu 系统有时服务名叫
ssh,可以尝试systemctl restart ssh。
额外建议与安全提醒
- 保管好你的私钥! 既然密码登录已经关闭,那么本地电脑上的那个
id_ed25519私钥文件就是你连接这台服务器的 唯一凭证。如果你重装了电脑或者弄丢了这个私钥文件,你将永远无法再次登入这台服务器!(除非主机面板提供了 VNC 救援控制台) - 不要把私钥发送给任何人,尤其是不要将其上传到公开的代码仓库(如 GitHub)。
按照以上步骤,你可以高枕无忧了,公网上的无聊扫描机器人再也无法攻破你的 SSH 堡垒。
- 🔥🔥🔥2026年便宜好用的翻墙VPN机场推荐评测(长期更新 欢迎推荐)
- 稳定好用的流媒体合租平台推荐(长期更新 欢迎推荐)
- AI 使用教程汇总|ChatGPT、Gemini 新手入门与国内使用指南
- 国外接码平台 Hero SMS 评测(稳定 · 低价 · 高成功率)
免责声明
本文仅供技术交流和学习参考,请遵守当地法律法规,合理合法使用网络服务。