git@github.com: Permission denied (publickey)

  • Post author:
  • Post category:其他


今天在使用命令ssh -T git@github.com测试公钥是否添加成功时,提示:

git@github.com: Permission denied (publickey)


解决方法


方法一:使用默认名字


重新生成密钥对,不指定名字,使用默认名字



方法二:使用ssh-agent代理管理git私钥


添加本地私钥:ssh-add ~/.ssh/自己定义的名字


如报错“Could not open a connection to your authentication agent.”,说明agent没有启动,先运行:eval $(ssh-agent)或者eval `ssh-agent -s` (注意这里是反引号),然后再运行

ssh-add ~/.ssh/自己定义的名字




再使用ssh -T git@github.com就会看到你想要的效果了









方法三:在.ssh目录下创建config文本文件并完成相关配置



配置一个Host,Host要取一个别名,Host主要配置HostName和IdentityFile两个属性即可



Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令,例如:



Host mygithub 这样定义的话,命令如下,即


git@后面紧跟的名字改为mygithub,例如:


git clone git@mygithub:xxx/****.git


HostName


这个是真实的域名地址


IdentityFile


这里是id_rsa的地址


PreferredAuthentications    配置登录时用什么权限认证–可设为publickey,password publickey,keyboard-interactive等


User              配置使用用户名


配置如下:

#配置github.com
Host github.com
HostName github.com
IdentityFile ~/.ssh/GitHub
PreferredAuthentications publickey 
User Solin

注意:在.ssh目录中除了秘钥文件之外,config文件是后面的步骤中手动生产的,known_hosts文件是后续自动生产的



配置完成后,再使用ssh -T git@github.com测试是否配置成功








如果有多个git账号(比如:

github.com


账号、gitee.com账号等

),配置多个Host即可。







版权声明:本文为qq_32786873原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。