升级 Ventura 导致 Git 认证失败解法

2022-10-25 19:45:24 +08:00
 mrgeneral

现象:GitHub 正常,但是内网 Git SSH Key 认证失败,无法拉取代码。

Permission denied (publickey,password).
fatal: Could not read from remote repository.

开了下 Debug ,定位到问题。

debug1: send_pubkey_test: no mutual signature algorithm
debug1: No more authentication methods to try.

因为 Ventura 自带 OpenSSH_9.0p1 而从 8.2 开始 OpenSSH 默认不再支持 ssh-rsa,所以认证失败。

解法:使用新的算法生成密钥(推荐 ED25519 )或者临时开启 ssh-rsa 支持。

 Host xxxx
 User xxx
 PreferredAuthentications publickey
 HostKeyAlgorithms +ssh-rsa
 PubkeyAcceptedKeyTypes +ssh-rsa

希望对大家有用。

1757 次点击
所在节点    macOS
10 条回复
CEBBCAT
2022-10-25 22:23:49 +08:00
谢谢分享!补充一点细节:被禁用的好像是基于 SHA-1 的 ssh-rsa ,基于 SHA-2 的还 OK 。使用 >=openssh 7.2 ( 2016 发行) 默认生成的 rsa 密钥应该就是它

补充一下链接
thttps://www.openssh.com/txt/release-8.2
rillhu
2022-10-26 00:06:13 +08:00
学习了,暂时好像没遇到 git 失效
xiyangzh
2022-10-26 14:53:26 +08:00
太有用了, 我还一度怀疑是运维同学搞啥了? 原来坑在这里
xiyangzh
2022-10-26 14:55:21 +08:00
Host xxxx
User xxx
PreferredAuthentications publickey
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

这段怎么用呢?
mrgeneral
2022-10-26 15:34:29 +08:00
@xiyangzh 编辑文件 `~/.ssh/config` 即可
xiyangzh
2022-10-26 16:06:22 +08:00
@mrgeneral 搞定,🙏
fingle0618
2022-10-26 18:18:13 +08:00
用 ED25519 重新生成了密钥,还是失败,怎么破
fingle0618
2022-10-26 18:18:57 +08:00
@mrgeneral 用 ED25519 重新生成了密钥,添加
fingle0618
2022-10-26 18:19:45 +08:00
Host xxxx
User xxx
PreferredAuthentications publickey
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
suisetai
2023-07-17 12:13:39 +08:00
非常感谢.. 开的 vps 用密钥一直登不上去 我还以为哪出问题了 一看版本 6.6.1 ….. 解决了困扰许久的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/889803

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX