密码登录是一台新服务器最薄弱的环节:机器人扫描互联网,全天候用猜测敲打 22 端口。把密码换成一对 SSH 密钥能彻底移除这一攻击面,也是任何新 VPS 上第一件值得做的事。下面是完整流程,只需几条命令。
SSH 密钥如何工作
你生成一对密钥:私钥留在你的电脑上,公钥放到服务器上。服务器会质询任何连接者;只有持有匹配私钥的人才能应答。你可以随意分发公钥——要保护的是私钥。
1. 生成一对密钥(在你自己的电脑上)
ssh-keygen -t ed25519 -C "you@example.com"
# 按 Enter 接受默认路径 (~/.ssh/id_ed25519)
# 设置一个 passphrase 以增加安全性,或留空
这会创建两个文件:~/.ssh/id_ed25519(私钥——切勿分享)和 ~/.ssh/id_ed25519.pub(公钥)。
2. 把公钥复制到服务器
如果你还能用密码登录,简单的方法:
ssh-copy-id root@YOUR.SERVER.IP
没有 ssh-copy-id?手动来:
cat ~/.ssh/id_ed25519.pub | ssh root@YOUR.SERVER.IP \
"mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
3. 改动任何东西之前,先测试密钥
打开一个新的终端并登录——不应再被要求输入服务器密码:
ssh root@YOUR.SERVER.IP
如果成功,做下一步时保持这个会话开着,这样出错也不会把你锁在外面。
4. 关闭密码登录
在服务器上编辑 /etc/ssh/sshd_config:
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh # 有些发行版服务名为 sshd
从此只有你的密钥能进入,22 端口上持续的暴力破解噪声就直接被弹开了。
诚实的提醒
- 密钥生效之前,绝不要关闭密码。 先在第二个终端确认密钥登录——这是防止把自己锁在外面的唯一规则。
- 备份你的私钥,并考虑再加一把密钥(一台笔记本加一把备用),这样丢失一台设备不会造成锁死。
- 万一真被锁在外面,服务商控制台能让你回来——EQVPS 正是为此给每台 VPS 配了浏览器控制台。
下一步
SSH 密钥是加固服务器的第一步。搭配一个防火墙——见如何配置 UFW 防火墙和如何设置 fail2ban——并在对外暴露任何东西之前走一遍新 VPS 安全清单。在无 KYC、加密货币付款的 VPS 上,密钥也是让访问权真正归你所有的方式。
评论
暂无评论。来做第一个吧。