给云服务器换上 SSH 密钥登录:三步告别密码登录

举报
yd_211833921 发表于 2026/10/27 00:58:00 2026/10/27
【摘要】 密码登录用起来顺手,却是云服务器最容易被盯上的入口。只要 22 端口对外暴露,扫描器就会日夜试弱口令、撞库和爆破,日志里常能看到成串的失败登录。换成 SSH 密钥登录就不一样了:服务器验证的是你手里独一无二的私钥,而不是一段可以猜到的口令,日常登录反而更省事。三步就能完成切换,顺序不能乱。第一步,在自己的电脑上生成密钥对,不要在服务器上生成再下载私钥。执行 ssh-keygen -t ed2...

密码登录用起来顺手,却是云服务器最容易被盯上的入口。只要 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,改默认端口只能减少日志噪音,不能当作防线。做完这三步,登录入口就从人人可试的密码,变成了只有你手里那把钥匙能打开的门。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。