一台电脑如果要配置2以上的git账号需要注意一下
在你生成第二个ssh keygen 的时候,如果你采用默认rsa_pub路径的话,会覆盖你之前的git账号:
kaiweixu$ ssh-keygen -t rsa -C "xxxxx@xx.com"
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 git@github.com
会出现认证失败:
git@github.com: 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目录下面:
注意:
1.注意:不要放在你第二个设置的.ssh目录下面,我当时就是放在自己新建的第二git根目录下面,搞了好久,晕死。
2.config里面的IdentityFile是rsa私钥地址,不是公钥哦,也就是不带.pub后缀。
第二个坑:
上面config 文件设置好了以后,再尝试ssh -T git@github.com还是失败:
Permissions 0755 for '/Users/kaiweixu/Documents/.ssh/github' are too open.也就是说这个私钥文件安全权限太低了,拒绝。
解决方法就是降低文件权限:
chmod 0600 /Users/kaiweixu/Documents/.ssh/github
然后执行 ssh -T git@github.com 就认证成功了,就可以上传代码了。
记录一下
//上传一个新的项目第一次提交:
cd existing_folder
git init
git remote add origin git@192.168.10.240:iOS/xxxxxxxx.git
git add .
git commit
git push -u origin master