SSH 密钥登录:告别密码,服务器登录更安全也更省事

举报
yd_225891185 发表于 2026/11/08 01:36:44 2026/11/08
【摘要】 每天登录服务器都要输一遍密码,输错了重来,换电脑又要重新记。如果你也觉得烦,SSH 密钥登录就是为你准备的:私钥留在自己的电脑上,公钥放到服务器上,登录时双方自动核对,通过就直接进系统,不用再记密码。 一、密钥登录为什么更安全密码可以被猜、被撞库、被钓鱼,只要足够简单或多处重复使用,攻击者总有办法试出来。密钥则不同:一对 2048 位以上的 RSA 密钥或更短的 Ed25519 密钥,暴力破...

每天登录服务器都要输一遍密码,输错了重来,换电脑又要重新记。如果你也觉得烦,SSH 密钥登录就是为你准备的:私钥留在自己的电脑上,公钥放到服务器上,登录时双方自动核对,通过就直接进系统,不用再记密码。

一、密钥登录为什么更安全

密码可以被猜、被撞库、被钓鱼,只要足够简单或多处重复使用,攻击者总有办法试出来。密钥则不同:一对 2048 位以上的 RSA 密钥或更短的 Ed25519 密钥,暴力破解在现实中几乎不可能。更关键的是,私钥从不离开你的电脑,登录时传输的只是签名结果,即使流量被截获,对方也拿不到私钥。服务器上没有密码可供比对,撞库也就无从下手。

二、三步配好密钥登录

第一步,在自己的电脑上生成密钥对。打开终端,执行 ssh-keygen -t ed25519 -C "你的邮箱",一路回车即可。命令会在 ~/.ssh 目录下生成两个文件:id_ed25519 是私钥,千万不要发给任何人;id_ed25519.pub 是公钥,可以公开。

第二步,把公钥传到服务器。执行 ssh-copy-id 用户名@服务器地址,它会自动把公钥追加到服务器 ~/.ssh/authorized_keys 里,并处理好目录权限。手动添加也可以,记得把 .ssh 目录权限设为 700,authorized_keys 设为 600,权限太宽松时 SSH 会拒绝使用密钥。

第三步,测试登录。执行 ssh 用户名@服务器地址,如果直接进入系统而没有要求输入密码,就说明配置成功了。

三、顺手做好的两个收尾动作

配好密钥之后,建议关掉服务器的密码登录,否则攻击者仍可以继续爆破密码。编辑 /etc/ssh/sshd_config,把 PasswordAuthentication 改为 no,保存后重启 sshd。改之前务必确认密钥登录已经可用,并留一个已登录的终端窗口备用,免得把自己锁在门外。

另外,给私钥加个口令是个好习惯:每次使用私钥时输入一次,配合 ssh-agent 记住口令,日常几乎没有额外负担,电脑丢了也不怕别人直接拿走私钥登录。

四、新电脑怎么接手

换电脑时,把旧电脑 ~/.ssh 下的私钥文件安全地拷到新电脑相同位置,权限设为 600,就能继续使用。更稳妥的做法是为每台电脑各生成一对密钥,公钥都加进 authorized_keys,某台电脑不用了就单独删除对应的公钥。

小结

密钥登录就是把“你知道什么”(密码)换成“你拥有什么”(私钥)。一次配置,之后每次登录都是一条命令的事,既省去了输密码的麻烦,也堵住了爆破和撞库的口子。如果你还在每天输密码登录服务器,不妨花十分钟换成密钥登录。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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