解决git@github.com: Permission denied (publickey).问题

本文详细介绍了在使用Git过程中,如何解决因同时管理多个GitHub账号而导致的SSH公钥冲突问题。通过自定义config文件,可以轻松实现不同账号间的SSH公钥切换。

Git解决小问题记录

问题描述

在学习Git的过程中,我创建了两个GitHub账号,一个用于学习,一个用于工作,并使用同一台电脑进行远程Git仓库的维护。由于Git的远程连接是基于SSH的,不可避免的要管理多套SSH公钥/私钥。否则当你向多个Github账号的仓库中push时,会遇到如下错误

veatheroe:micky aoyi$ git push -u origin master
Enter passphrase for key '/Users/aoyi/.ssh/id_rsa':
git@github.com: Permission denied (publickey).
fatal: 无法读取远程仓库。

遇到该错误的原因则是git默认使用的/Users/aoyi/.ssh/id_rsa公钥与你远程的Github账号中记录的SSH公钥不匹配。

解决途径

解决途径参考了popfisher博主的博客。简单说就是自定义一个config文件管理SSH key。在你的.ssh文件夹下(我的是/Users/aoyi/.ssh)创建config文件,并作如下修改

 # 配置github.com  veatheroe@gmail.com账号的SSH公私钥,别名是id_rsa_veatheroe.pub 配置github.com    veatheroe@gmail.com账号的SSH公私钥,别名是id_rsa_veatheroe.pub         
 Host github.com
 HostName github.com
 IdentityFile /Users/aoyi/.ssh/id_rsa_veatheroe
 PreferredAuthentications publickey
 User username1

当切换到另外一个github账号时,更改该config文件即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值