解決:GitHub與GitLab同時使用時sshkey衝突的問題
阿新 • • 發佈:2021-02-04
今天在瀏覽GitHub學習的時候本人看到一個專案,比較好奇於是配置了一下GitHub,給專案down下來了,結果在去git pull公司專案的時候(用的是GitLab)密碼不正確,才想起來是在GitHub生成sshkey的時候給GitLab的sshkey覆蓋掉了,搞了一會搞好了,拿出來跟大家分享一下,上程式碼!!!(怎麼配置在這裡就不寫了)
GitHub
1. 一般生成的sshkey檔案都會預設放在/c/Users/Administrator/.ssh/id_rsa下(Administrator是對應的使用者名稱資料夾)所以一路Enter的話會提示是否覆蓋,因此我們要將GitHub的sshkey與GitLab的sshkey分開放
- cd到 C:\Users\Administrator.ssh\ 目錄下(我的是Administrator,這個根據自己電腦自行改變),然後建立一個資料夾(叫啥都行我的是叫githubsshkey)
mkdir githubsshkey
chmod 777 githubsshkey
2. 生成GitHub的sshkey
注意: 郵箱是GitHub的郵箱,不要弄成GitLab的了
ssh-keygen -t rsa -C "GitHub的郵箱"
接下來別急著一路預設
這個是你要把sshkey存入的位置,我們要更改位置,放在上面建立好的資料夾中,如果你們建立的資料夾名字跟我一樣,那麼下面的程式碼直接粘過去就行了,如果不是的話注意改一下那個資料夾名字
/c/Users/Administrator/.ssh/githubsshkey/id_rsa
然後一路Enter就好啦!!!
GitLab
GitLab的就直接用下面這個一路預設就好了 :
注意:郵箱是GitLab的郵箱,不要弄成GitHub的了
ssh-keygen -t rsa -C "GitLab的郵箱"
這樣就OK啦!!!是不是很簡單呢?
放一個測試是否配好GitHub和GitLab的方法,有興趣的可以弄一下
1. 在C:\Users\Administrator.ssh\目錄下建立一個config檔案並配置:
vi config
Host github.com
HostName github.com #如果地址是公司的地址的話就直接寫成公司的ip就行
PreferredAuthentications publickey
IdentityFile ~/.ssh/githubsshkey/id_rsa #這裡是GitHub生成sshkey的那個檔案路徑
Host gitlab
HostName gitlab #如果地址是公司的地址的話就直接寫成公司的ip就行
PreferredAuthentications publickey
IdentityFile ~/.ssh/ #這裡是GitLab生成sshkey的那個檔案路徑
2. 之後wq儲存
3. 測試:
測試GitHub:
ssh -T [email protected]
測試GitLab:
ssh -T [email protected]
大功告成!!!