轉自:https://blog.csdn.net/qq_27295403/article/details/85335765
前言:筆者在開發工作中開始准備使用個人碼雲來完成自己的個人作品,但是之前呢,我已經在本地添加過公司碼雲賬號的ssh key.那如何再設置我們自己的ssh key呢.
碼雲官網的說明文檔(參考此文檔):
Git配置多個SSH-Key
接下來我們開始操作
(一)我們應該去生成一個ssh-key:
xxxxx@xx.com是你的碼雲賬號
id_rsa_ldb隨意你自己填寫,但是請記住
ssh-keygen -t rsa -C 'xxxxx@xx.com' -f ~/.ssh/id_rsa_ldb
(二)在~/.ssh下創建config文件(使用touch config命令)
(三)創建完config文件,vi或vim打開文件,寫入
# gitee 第一個ssh-key 公司賬號
Host gitee.com #這是主地址
HostName git.oschina.ne #這是碼雲地址,不變
IdentityFile ~/.ssh/id_rsa #標識文件
User xx@xx.com #寫上你的碼雲賬號
# gitee 第二個ssh-key 個人賬號
Host gitee.ldb.com #這是主地址
HostName git.oschina.net #這是碼雲地址,不變
IdentityFile ~/.ssh/id_rsa_ldb #標識文件
User xx@xx.com #寫上你的碼雲賬號
(四)在碼雲上添加自己的公鑰
(五)然后在回來終端使用命令測試是否配置成功:ssh -T git@xxx(此字段為Host),以下是測試結果
?完成.這時候就可以開始愉快地使用自己的個人賬號了.
(六)可能出現的問題
(1)出現Permission denied提示,則說明有權限問題,而多用戶時出現權限問題的原因:
gitee或github使用SSH與客戶端連接。如果是單用戶(first),生成密鑰對后,將公鑰保存至 gitee或github ,每次連接時SSH客戶端發送本地私鑰(默認~/.ssh/id_rsa)到服務端驗證。單用戶情況下,連接的服務器上保存的公鑰和發送的私鑰自然是配對的。但是如果是 多用戶 (first,second),我們在連接到second的帳號時,second保存的是自己的公鑰,但是SSH客戶端依然發送默認私鑰,即first的私鑰,那么這個驗證自然無法通過。
解決ssh權限問題:
通常一台電腦生成一個ssh不會有這個問題,當一台電腦生成多個ssh的時候,就可能遇到這個問題,解決步驟如下:
1.查看系統ssh-key代理,執行如下命令
ssh-add -l
以上命令如果輸出 The agent has no identities. 則表示沒有代理。如果系統有代理,可以執行下面的命令清除代理:
ssh-add -D
2.然后依次將不同的ssh添加代理,執行命令如下:
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_ldb
(2)上傳者與我們的碼雲賬號不一致
原來是早已設置了全局的賬號,郵箱,我們如果想要使用second的賬號和郵箱,則
1.找到項目所在目錄下的 .git/文件夾,進入.git/文件夾,然后執行如下命令分別設置用戶名和郵箱:
git config user.name "xxx"
git config user.email "xxx@xxx.com"
然后執行命令查看config文件:cat config
發現里面多了剛才配置的用戶名和郵箱信息,即成功為該項目單獨設置了用戶名和郵箱
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://github.com/xxx/xxxx.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[user]
name = xxx
email = xxx@xxx.com
2,如果為所有項目設置默認的用戶名和郵箱,則執行如下命令(即多了"--global"修飾,添加為全局變量):
git config --global user.name"xxx"
git config --global user.email"xxx@xxx.com"
參考:Git配置用戶名與郵箱
如果有疑問的同學,請留言
————————————————
版權聲明:本文為CSDN博主「大唐錦綉」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_27295403/article/details/85335765