SSH 密码登录天天被全世界的扫描器爆破,防不胜防。最彻底的解决办法是改用密钥登录并关闭密码认证——无密码可爆,自然安全。
原理
密钥登录靠"公钥/私钥"配对:公钥放在服务器,私钥保存在你的电脑。登录时服务器验证你是否持有匹配的私钥,比密码安全得多。
第一步:生成本机密钥
ssh-keygen -t ed25519 -C "your_email"
一路回车,会生成 ~/.ssh/id_ed25519(私钥)和 id_ed25519.pub(公钥)。
第二步:把公钥装到服务器
ssh-copy-id root@你的服务器IP -p 端口
或者手动把 .pub 内容追加到服务器的 /root/.ssh/authorized_keys。
第三步:先验证密钥能登录
ssh -i ~/.ssh/id_ed25519 root@服务器IP -p 端口
关键:先确认密钥能正常登录,再关密码认证,否则一旦配置失误可能把自己锁在门外。
第四步:关闭密码登录
编辑 /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin prohibit-password
然后 sshd -t 校验配置,systemctl reload sshd 生效。
补充建议
配合 MaxAuthTries 3、LoginGraceTime 30 可进一步收紧。私钥务必备份,丢了就登不上服务器了。




还没有评论,来说两句吧...