Mac os 13更新,Git报 Permission denied (publickey).

在升级Mac os至13版本后,Git拉取代码时遇到Permission denied (publickey)错误。原因是OpenSSH 8.8及以上版本默认禁用RSA签名。解决方案包括删除.ssh文件夹并重新生成使用ed25519算法的密钥,然后将新生成的id_ed25519.pub密钥添加到远程机器。


Mac 更新版本出现 git 报 Permission denied (publickey).

更新系统版本后
pull 代码

Update failed
XXXXXXX: Permission denied (publickey).
Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

一、问题出现原因

查询资料得知任何运行OpenSSH 8.8 或更新版本的系统默认使用 SHA-1 哈希算法禁用 RSA 签名。之前的命令,不再适用,算法导致旧的RSA签名无效。

二、解决步骤

1.删除.ssh文件夹重新生成

使用ed25519的算法生成密钥,之后再直接复制密钥去对应的机器。
代码如下:

ssh-keygen -t ed25519 
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/nathan15/.ssh/id_ed25519): 
Created directory '/Users/nathan15/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/nathan15/.ssh/id_ed25519
Your public key has been saved in /Users/nathan15/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:8i/vdXHhOE5BEDWPWtJFr/Rm8jK6dm43fAlgXQlKKsU nathan15@JNPG67WMJG
The key's randomart image is:
+--[ED25519 256]--+
|        .. ++=oo.|
|        .Eo + =o.|
|       . . o.=oo.|
|        .  o+o+o.|
|      . S ...++.=|
|       o    o..B |
|        .   ..* o|
|        .. ..oo*o|
|         ++.o=..o|
+----[SHA256]-----+

2.在生成的新.ssh文件夹中读取id_ed25519.pub

代码如下:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHwWvTCsUSMjgKcASuvBv8csD3VxhfjtjYH2aDk8Uzch nathan15@JNPG67WMJG

比之前RSA签名少的多,复制粘贴到过去就可以啦


解决方案参考

链接: SSH免密失败并报错

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值