git免密认证同步仓库代码报错——git@github.com: Permission denied (publickey) —— 所需的ssh-add加载加密私钥 —— 指定加密私钥存储位置

参考:


【转载】 执行 ssh-add 报错 Could not open a connection to your authentication agent —— git免密认证同步仓库代码,所需的ssh-add加载加密私钥




ssh client进行git免密验证时会自动到 ~\.ssh\ 文件夹下面寻找 private key 文件。




需要注意的是 有固定的默认文件名的,所以不能修改文件名,如rsa加密的私钥的文件名为id_rsa




验证是否免密成功:

ssh -T git@github.com


图片




ssh -vT git@github.com


图片




解决该问题的真正的方法:


将 加密的私钥 private key 文件 放在~.ssh\ 文件夹下面


参考:

https://askubuntu.com/questions/1508967/gitgithub-com-permission-denied-publickey




如果你有多个代码仓库的网站,如:github.com gitee.com 等等,并且你有多个加密的秘钥(不同网站对应的都是不同的),那么你可以使用下面的方法,即:配置 ~/.ssh/config 文件


当然,该种情况下由于有多个秘钥,那么必然不能使用默认的秘钥名称来存储在 ~/.ssh/ 文件夹下面。




vim ~/.ssh/config




为github.com网站的ssh免密登录配置:


Host github
     Hostname github.com
     User git
     IdentityFile ~/.ssh/id_server_ed25519
     IdentitiesOnly yes




为gitee.com网站的ssh免密登录配置:


Host gitee
     Hostname gitee.com
     User git
     IdentityFile ~/.ssh/id_server_ed25519_2
     IdentitiesOnly yes




以上的配置只能为指定的用户进行配置,如果希望为服务器上的所有用户均配置,可以编辑文件:/etc/ssh/ssh_config


添加内容:

IdentityFile ~/.ssh/id_server_ed25519


图片












补充原文内容:




图片

图片

图片

图片




posted on 2026-06-26 16:38  Angry_Panda  阅读(3)  评论(0)    收藏  举报

导航