Git 同一客戶端多個Git賬號
一般公司使用 GitLab 搭建的內(nèi)部私有 Git 倉庫,同時自己平時用 github 的賬號,存在兩個Git,如果直接使用SSH-Key會把之前的GitLab的SSH-Key覆蓋。
- 有兩個 Github 賬號,同一臺電腦同時連接兩個賬號進行版本控制。
- 公司使用 Gitlab賬號,自己使用 Github 賬號。
1、查看Git全局設(shè)置
1.1、查看已設(shè)置全部
$ git config --list
查看全局設(shè)置
1.2、清除 Git 的全局設(shè)置
如果對 Git 設(shè)置過的 user.name
和 user.email
,類似的這種設(shè)置:
$ git config --global user.name "your_email_prefix"
$ git config --global user.email "your_email"
刪除全局Git設(shè)置,不然會沖突。刪除全局設(shè)置的方法:
$ git config --global --unset user.name "your_email_prefix"
$ git config --global --unset user.email "your_email"
2、生成新的SSH keys
生成 SSH keys 命令
$ ssh-keygen -t rsa -C "your_email"
這里我以自己的賬號為例
- Github賬號:jxaufang168@github.com
- Gitlab賬號:liangrh@sundaytech.cn
2.1、生成 GitLab 賬號的SSH-Keys
1、用命令在控制臺生成私鑰和私鑰
# 在~/.ssh/目錄會生成gitlab_id_rsa和gitlab_id_rsa.pub私鑰和公鑰。
# 我們將gitlab_id-rsa.pub中的內(nèi)容粘帖到公司GitLab服務(wù)器的SSH-key的配置中。
$ ssh-keygen -t rsa -C "liangrh@sundaytech.cn" -f ~/.ssh/gitlab_id_rsa
2、在 GitLab 管理面板設(shè)置,復制公鑰?gitlab_id_rsa.pub
?的內(nèi)容到密鑰框。
可用命令查看,也可以用編輯器查看。
$ cat gitlab_id_rsa.pub
SSH 密鑰設(shè)置面板
2.2、生成 Github 賬號的SSH-Keys
1、用命令在控制臺生成私鑰和私鑰
# 在~/.ssh/目錄會生成github_id_rsa和github_id_rsa.pub私鑰和公鑰。
# 我們將github_id_rsa.pub中的內(nèi)容粘帖到Github的SSH-key的配置中。
$ ssh-keygen -t rsa -C "jxaufang168@163.com" -f ~/.ssh/github_id_rsa
2、在 Github 管理面板設(shè)置,復制公鑰?github_id_rsa.pub
?的內(nèi)容到密鑰框。
可用命令查看,也可以用編輯器查看。
$ cat github_id_rsa.pub
SSH 密鑰設(shè)置面板
2.3、添加 conig 配置文件
在~/.ssh目錄下添加config配置文件用于區(qū)分多個SSH-Key
# 添加config配置文件
# vi ~/.ssh/config
# 文件內(nèi)容如下:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
# 配置文件參數(shù)
# Host : Host可以看作是一個你要識別的模式,對識別的模式,進行配置對應(yīng)的的主機名和ssh文件
# HostName : 要登錄主機的主機名
# User : 登錄名
# IdentityFile : 指明上面User對應(yīng)的identityFile路徑
2.4、配置完,目錄中的文件
$ cd ~/.ssh/
$ ls
github_id_rsa.pub
github_id_rsa
gitlab_id_rsa.pub
gitlab_id_rsa
known_hosts
3、驗證連接Git
$ ssh -T git@github.com
Hi jxaufang168! You've successfully authenticated, but GitHub does not provide shell access.
# 上面是github的成功返回語句,下面是gitlab的成功返回語句。
# git@xxxxxx.com 緩存你公司的Git服務(wù)器域名
$ ssh -T git@xxxxxx.com
Welcome to GitLab, 梁榮輝!
如果連接不成功的話,用戶命令查看錯誤信息
$ ssh -vT git@gihub.com #查看出錯信息
4、無法連接問題
如果出現(xiàn)
Permission denied(Publickey)
解決方案:
以 Github 連接不上為例:
1、把私鑰github_id_rsa,重新添加到ssh_agent,并驗證連接
$ ssh-agent bash
$ ssh-add ~/.ssh/github_id_rsa
2、把公鑰github_id_rsa.pub,重新添加到 Git 賬號SSH Keys,再驗證連接。文章來源:http://www.zghlxwxcb.cn/news/detail-458040.html
3、最終還是沒辦法連接成功,重新按上面步驟操作。?文章來源地址http://www.zghlxwxcb.cn/news/detail-458040.html
到了這里,關(guān)于【Git-4】Git 配置多個SSH-Key的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!