一臺(tái)電腦如果要配置2以上的git賬號(hào)需要注意一下
在你生成第二個(gè)ssh keygen 的時(shí)候乳绕,如果你采用默認(rèn)rsa_pub路徑的話哺呜,會(huì)覆蓋你之前的git賬號(hào):
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): 這里要一定要輸入另外一個(gè)目錄
比如我這個(gè)是:/Users/kaiweixu/Documents/.ssh/github_ret
然后后面常規(guī)復(fù)制pub內(nèi)容去你第二個(gè)git網(wǎng)站到sshkey里面,我這里第二個(gè)是我個(gè)人的github.com
重點(diǎn)來了
如果你第一次執(zhí)行:
ssh -T git@github.com
會(huì)出現(xiàn)認(rèn)證失敼塾巍:
git@github.com: Permission denied (publickey).
問題的關(guān)鍵點(diǎn)是需要增加一個(gè)config配置文件(最核心的地方),格式如下:
Host github.com
Hostname github.com
User kaiweixu
PreferredAuthentications publickey
IdentityFile /Users/kaiweixu/Documents/.ssh/github
相關(guān)解釋:
HostName 這個(gè)是真實(shí)的域名地址
IdentityFile 這里是id_rsa的地址
PreferredAuthentications 配置登錄時(shí)用什么權(quán)限認(rèn)證--可設(shè)為publickey,password publickey,keyboard-interactive等
User 配置使用用戶名
然后這個(gè)config 文件放哪兒是關(guān)鍵:
config 文件要放在默認(rèn)的.ssh目錄下面:
注意:
1.注意:不要放在你第二個(gè)設(shè)置的.ssh目錄下面,我當(dāng)時(shí)就是放在自己新建的第二git根目錄下面,搞了好久昼窗,暈死。
2.config里面的IdentityFile是rsa私鑰地址涛舍,不是公鑰哦澄惊,也就是不帶.pub后綴。
第二個(gè)坑:
上面config 文件設(shè)置好了以后,再嘗試ssh -T git@github.com還是失數:
Permissions 0755 for '/Users/kaiweixu/Documents/.ssh/github' are too open.也就是說這個(gè)私鑰文件安全權(quán)限太低了肛搬,拒絕。
解決方法就是降低文件權(quán)限:
chmod 0600 /Users/kaiweixu/Documents/.ssh/github
然后執(zhí)行 ssh -T git@github.com 就認(rèn)證成功了毕贼,就可以上傳代碼了温赔。
記錄一下
//上傳一個(gè)新的項(xiàng)目第一次提交:
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