用 SSH 密钥登录服务器:免密码、更安全的新手做法

举报
yd_291459017 发表于 2026/11/06 18:38:13 2026/11/06
【摘要】 用 SSH 密钥登录服务器:免密码、更安全的新手做法每次登录服务器都要输密码,输错几次还会被锁,时间久了还容易在公共网络上被反复试探。SSH 密钥登录解决的正是这个问题:你在自己电脑上生成一对密钥,把公钥放到服务器上,私钥只留在自己手里,登录时两边自动核对,不用再输密码,别人拿到密码也登不进来。先理解一个关系:密钥是一对,公钥可以公开,私钥绝不能外泄。公钥相当于一把能公开的锁,私钥是唯一能...

用 SSH 密钥登录服务器:免密码、更安全的新手做法

每次登录服务器都要输密码,输错几次还会被锁,时间久了还容易在公共网络上被反复试探。SSH 密钥登录解决的正是这个问题:你在自己电脑上生成一对密钥,把公钥放到服务器上,私钥只留在自己手里,登录时两边自动核对,不用再输密码,别人拿到密码也登不进来。

先理解一个关系:密钥是一对,公钥可以公开,私钥绝不能外泄。公钥相当于一把能公开的锁,私钥是唯一能开这把锁的钥匙。服务器上只放公钥,登录时服务器发一个挑战,你的电脑用私钥算出答案,服务器用公钥验证通过就放行,整个过程私钥本身从不经过网络。

上手只要三步。第一步,在自己电脑上执行 ssh-keygen -t ed25519 生成密钥对,一路回车用默认路径即可,生成后会在家目录的 .ssh 下得到 id_ed25519 和 id_ed25519.pub 两个文件。第二步,把公钥复制到服务器上,用 ssh-copy-id 用户名@服务器地址 一条命令就能完成,它会自动把公钥追加到服务器的 ~/.ssh/authorized_keys 里。第三步,再登录一次试试,这次应该直接进去不用输密码,如果还要求输密码,先检查服务器上 .ssh 目录的权限是不是 700、authorized_keys 是不是 600,权限太松会被 SSH 直接拒绝。

新手最容易踩的坑有三个。第一,私钥不要发给别人,也不要传到网盘和聊天记录里,一旦泄露就要立刻在服务器上删掉对应的公钥并重新生成一对。第二,不要为了图省事把私钥设成无口令还到处复制,电脑丢了就等于服务器钥匙丢了,给私钥加个口令是多一层保险。第三,换电脑后不要只复制私钥就完事,先确认新电脑上的公钥已经放到服务器上,再删旧电脑里的私钥,避免出现新电脑登不上、旧电脑还能登的混乱。

养成一个习惯就够了:每台常登录的服务器都用密钥登录,密码登录只留作最后的备用入口,平时能关就关掉。这样下次登录,你就不用再翻密码本,只需要确认钥匙还在自己手里。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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