公钥拉取失败提示 Permission denied(publickey)
文章内容
可能是由于你没有目标仓库和分支的权限,导致无法更新数据。确认对目标分支已有读写权限后依然出现此错误码,请参考以下解决办法。
1. 本地单公钥
删除本地的公钥与私钥后,根据指引提示重新生成新的公钥与私钥,并将新的公钥重新添加至项目中。
2. 本地存在多公钥
在 ~/.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
命令进行拉取。针对不同的目标仓库,修改命令中的别名完成拉取。
3. RSA 算法被禁用
此问题通常发生在 Git 客户端是 v2.33.1 及以上的版本或者 OpenSSH 是 8.8 及以上用户群体中。你可以添加 ~/.ssh/config
文件并使用 vim ~/.ssh/config
命令重新修改 ssh-rsa
配置。
Host e.coding.net
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
使用新算法生成新的公私钥:ssh-keygen -t ed25519 -C "your email"
。
问题反馈 >
2023-03-14最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。