给云服务器换上 SSH 密钥登录:三步告别密码登录
密码登录用起来顺手,却是云服务器最容易被盯上的入口。只要 22 端口对外暴露,扫描器就会日夜试弱口令、撞库和爆破,日志里常能看到成串的失败登录。换成 SSH 密钥登录就不一样了:服务器验证的是你手里独一无二的私钥,而不是一段可以猜到的口令,日常登录反而更省事。三步就能完成切换,顺序不能乱。
第一步,在自己的电脑上生成密钥对,不要在服务器上生成再下载私钥。执行 ssh-keygen -t ed25519 -C “备注,例如工作电脑”,会得到 id_ed25519 私钥和 id_ed25519.pub 公钥。ed25519 短小安全,是更推荐的选择。生成时建议给私钥设口令,即使电脑被别人短暂拿到,没有口令也用不了。私钥只留在本地,绝不要发到聊天工具、邮件或代码仓库。
第二步,把公钥上传到服务器,并摆对权限。最省事的是 ssh-copy-id -i ~/.ssh/id_ed25519.pub 用户名@服务器 IP,它会自动追加到 ~/.ssh/authorized_keys。手动操作时,先执行 mkdir -p ~/.ssh,再把公钥完整追加进去,公钥必须是一行,不能断行或多空格。权限很关键:.ssh 目录 700,authorized_keys 文件 600,权限太松会被 SSH 直接拒绝。完成后先用新开的终端试一次密钥登录,确认能进入,再进行下一步。
第三步,确认无误后关闭密码登录。编辑 /etc/ssh/sshd_config,把 PasswordAuthentication 改为 no,确认 PubkeyAuthentication 为 yes,并把 PermitRootLogin 改为 prohibit-password 或 no。保存后执行 systemctl restart sshd。保命细节是:改配置前不要关掉当前已登录的会话,万一密钥没生效,还能用旧窗口补救。重启后新开窗口验证密钥登录正常、密码登录被拒绝,才算切换完成。
最后注意三点:多台电脑不要共用一把私钥,每台各生成一对并用备注区分,某台丢失只需删除 authorized_keys 里对应的一行;私钥丢失或怀疑泄露时,立即删除旧公钥,并通过云厂商控制台或 VNC 救援登录补新公钥;平时可用 ssh-agent 托管带口令的私钥。安全组只放行常用出口 IP,改默认端口只能减少日志噪音,不能当作防线。做完这三步,登录入口就从人人可试的密码,变成了只有你手里那把钥匙能打开的门。
- 点赞
- 收藏
- 关注作者
评论(0)