关于一台电脑配置多个git账号的问题

一台电脑如果要配置2以上的git账号需要注意一下

在你生成第二个ssh keygen 的时候,如果你采用默认rsa_pub路径的话,会覆盖你之前的git账号

 kaiweixu$ ssh-keygen -t rsa -C "[email protected]"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/kaiweixu/.ssh/id_rsa): 这里要一定要输入另外一个目录

比如我这个是:/Users/kaiweixu/Documents/.ssh/github_ret

然后后面常规复制pub内容去你第二个git网站到sshkey里面,我这里第二个是我个人的github.com

重点来了

如果你第一次执行:

ssh -T [email protected]

会出现认证失败:

[email protected]: Permission denied (publickey).

问题的关键点是需要增加一个config配置文件(最核心的地方),格式如下:

Host github.com
Hostname github.com
User kaiweixu
PreferredAuthentications publickey
IdentityFile /Users/kaiweixu/Documents/.ssh/github

相关解释:
HostName         这个是真实的域名地址
IdentityFile         这里是id_rsa的地址
PreferredAuthentications 配置登录时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User            配置使用用户名

然后这个config 文件放哪儿是关键:

config 文件要放在默认的.ssh目录下面

关于一台电脑配置多个git账号的问题_第1张图片
config位置

注意:

1.注意:不要放在你第二个设置的.ssh目录下面,我当时就是放在自己新建的第二git根目录下面,搞了好久,晕死。
2.config里面的IdentityFile是rsa私钥地址,不是公钥哦,也就是不带.pub后缀。

第二个坑:

上面config 文件设置好了以后,再尝试ssh -T [email protected]还是失败:

失败截图

Permissions 0755 for '/Users/kaiweixu/Documents/.ssh/github' are too open.也就是说这个私钥文件安全权限太低了,拒绝。
解决方法就是降低文件权限:

chmod 0600 /Users/kaiweixu/Documents/.ssh/github

然后执行 ssh -T [email protected] 就认证成功了,就可以上传代码了。

记录一下

//上传一个新的项目第一次提交:
cd existing_folder
git init
git remote add origin [email protected]:iOS/xxxxxxxx.git
git add .
git commit
git push -u origin master

你可能感兴趣的:(关于一台电脑配置多个git账号的问题)