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






