SSH密钥登录:告别密码第一步
密码登录天天被爆破?小够教你 4 步配好 SSH 密钥登录:生成密钥、上传公钥、测试登录、关闭密码登录,附两个保命提醒。
我是小够,只推够用的 VPS。
你的 VPS 上线第一天,就会有人尝试爆破 SSH 密码——这是公网服务器的日常。密码再复杂,也架不住机器 24 小时不间断地猜。今天这篇教你换成密钥登录,4 步搞定,这是每台 VPS 都该做的第一件事。
为什么密钥比密码安全
密码是"你知道的东西",会被猜、会被撞库、会被钓鱼。密钥是"你有的东西":一对 2048 位以上的钥匙,公钥放服务器,私钥在你电脑里。登录时两边对暗号,对上了才放行。暴力破解一个强密钥,理论上要算到天荒地老。
四步配好密钥登录
第一步:在自己电脑上生成密钥对
ssh-keygen -t ed25519 -C "你的邮箱"
一路回车就行。生成后得到两个文件:id_ed25519(私钥,自己留好,绝不外传)和 id_ed25519.pub(公钥,传到服务器)。如果提示输入 passphrase,设一个,等于给私钥再加一道锁。
第二步:把公钥传到服务器
ssh-copy-id 用户名@服务器IP
输入一次密码,公钥就自动追加到服务器的 ~/.ssh/authorized_keys 里了。Windows 用户可以用 PuTTYgen 生成、手动粘贴,原理一样。
第三步:测试密钥能登录
先别关密码! 新开一个终端,用密钥登录一次:
ssh 用户名@服务器IP
如果没让你输密码直接进去了,说明密钥生效了。这一步是保命步骤,跳过它,后面一旦配错,你就把自己锁在门外了。
第四步:关闭密码登录
确认密钥能用之后,编辑服务器上的 SSH 配置:
sudo nano /etc/ssh/sshd_config
找到这两行,改成:
PasswordAuthentication no
ChallengeResponseAuthentication no
保存,重启 SSH 服务:
sudo systemctl restart sshd
从此密码登录彻底关闭,爆破软件再怎么猜也没用。
两个保命提醒
1. 私钥备份好:私钥丢了,等于家门钥匙丢了——而且没有开锁师傅。把 id_ed25519 备份到安全的地方(加密 U 盘、密码管理器),换电脑时带着走。云服务商一般提供 VNC 控制台,真丢了还能通过控制台救急,但别依赖它。
2. 别在不信任的电脑上放私钥:网吧、别人的电脑,坚决不放。非要临时用,用完删掉。自己的常用电脑也要设锁屏密码,私钥不设 passphrase 的话,电脑丢了等于服务器白送。
小够总结
密钥登录是 VPS 安全的地基:生成密钥 → 上传公钥 → 测试能登 → 关闭密码。10 分钟,一劳永逸。地基打好之后,再去看防火墙、Fail2ban 这些上层建筑。记住顺序别反了:先能进门,再考虑怎么防贼。安全这件事,永远是先解决"有",再解决"好"。