可能是由于您没有目标仓库和分支的权限,导致无法更新数据。确认对目标分支已有读写权限后依然出现此错误码,请参见以下解决办法:
删除本地的公钥与私钥后,根据 配置 SSH 公钥 提示重新生成新的公钥与私钥,并将新的公钥重新添加至项目中。
在 ~/.ssh 目录下参考下列样例新建 config 文件:
Host "demo1" HostName "code.csdn.net" User "git" IdentityFile "C:/Users/your-name/.ssh/id_rsaDemo1"
Host "demo2" HostName "code.csdn.net" User "git" IdentityFile "C:/Users/your-name/.ssh/id_rsaDemo2"例如目标仓库的 Git 地址为:git@e.coding.net:example/example.git,那么可以使用 git clone git@demo1:your-name/demo1.git 命令进行拉取。针对不同的目标仓库,修改命令中的别名完成拉取。
此问题通常发生在 Git 客户端是 v2.33.1 及以上的版本或者 OpenSSH 是 8.8 及以上用户群体中。您可以添加 ~/.ssh/config 文件并使用 vim ~/.ssh/config 命令重新修改 ssh-rsa 配置。
Host e.coding.netHostkeyAlgorithms +ssh-rsaPubkeyAcceptedAlgorithms +ssh-rsa使用新算法生成新的公私钥:ssh-keygen -t ed25519 -C "your email"。