ssh免密失败被拒绝(ssh免密码登录突然失效了)

ssh免密失败被拒绝(ssh免密码登录突然失效了)原创 前端司南 众里寻他千百度 蓦然回首 答案就在眼皮子底下 正如标题所述 我遇到的问题是服务器拒绝了我的 ssh 免密登录 具体情况是我之前已经配置好了 ssh 免密登录 但是最近突发 PC ssh 登录云服务器报错 接连好些天都没找到原因 ssh 免密码登录本身不是一个复杂的问题 百度 google 上面随便都找得到教程 关键点在于

大家好,我是讯享网,很高兴认识大家。



原创@前端司南

众里寻他千百度,蓦然回首,答案就在眼皮子底下……

正如标题所述,我遇到的问题是服务器拒绝了我的ssh免密登录,具体情况是我之前已经配置好了ssh免密登录,但是最近突发 PC ssh 登录云服务器报错,接连好些天都没找到原因。

ssh 免密码登录本身不是一个复杂的问题,百度 / google 上面随便都找得到教程。关键点在于:

我自己的一台个人服务器原本也配置好了 authorized_keys,免密登录一直用得挺好,在PC本地,remote CI/CD 中一直跑得通。

然而,最近我不知道在服务器上调整了什么,或者是我的 PC 发生了什么升级,不记得了,反正现象就是在 git bash 使用 ssh 免密登录上不去了,一直提示 Permission denied (publickey) 之类的报错信息,但是在 xshell 或者 CI/CD 中都是正常的。

网上自然有各种类似问题,解决方案诸如修改 .ssh 目录权限,修改 sshd_config 配置等,或者是说你的密钥不对(然而重新生成了也一样,emm…)。

其实我心里很清楚,我的问题可能不是这些情况,即使从报错信息上看还是差不多的。我抱着试试的态度,改了一遍又一遍,还是不太行,要么是提示 denied,要么是 ssh 登录时让我输入密码(这还怎么免密),有点崩溃。

最终决定从 ssh 命令上 debug 看看报错信息(这是我之前忽略的,应该从这里开始查的),

找到了这么一个关键信息。


讯享网

顺着这个信息查到了一些资料,由于 OpenSSH 从 8.8 版本由于安全原因开始弃用了 rsa 加密的密钥,需要在 .ssh 的 config 配置中加入这么一行:

经测试真的管用,免密登录成功!

附上参考的博客链接 https://blog.csdn.net/q/article/details/

同时我也检查了 PC 的 openssh 版本,确实是高于 8.8 版本的。

接着我还是去查阅 openssh 8.8 的发行日志核实了一下,确实有关于 security 的 incompatible changes,具体与 RSA/SHA-256512 和 RSA/SHA1 有关。

详细资料可以参考 https://www.openssh.com/txt/release-8.8

总结下来就是,本次遇到问题时,我盲目自信认为可以凭自己之前的一些经验,找之前用过的一些方法去修改测试,浪费了很多时间,同时也打击了自己的信心。正确的做法是,对于一些命令行接口,可以优先确认是否能找到 debug 或者日志信息,优先从这些信息入手查问题,就比如这次的 ssh 命令,实际上是提供了 -v 选项,也就是 verbose,能看到比较详细的日志,往往会有事半功倍之效。

END

小讯
上一篇 2025-05-31 07:25
下一篇 2025-05-16 09:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/192429.html