banner
keney

keney

remain optimistic
twitter

Git多帳號配置

一、背景#

​ 在同一台電腦上有時候需要使用多個 GitHub、gitee、gitlab 帳號,或者說你有多個帳號,不想來回生成公鑰,那麼這就需要使用到 git 配置多帳戶了。

二、準備#

環境:window 10、git

在使用之前你需要安裝 git,對於 git 安裝也是點擊下一步下一步就可以安裝完成,在此也需要對 git 命令有一定的了解。

前提條件:需要 C:\Users\nxg.ssh 目錄(文件夾)下,打開 git bash

如下圖所示:

image-20221031222311849

打開之後使用這個界面:

image-20221031222421017

** 注意:** 這路徑 C:\Users\nxg.ssh 對於有一定基礎的根據上圖是能看明白,就不再贅述了。

​ 為什麼先執行這一步呢?原因是這樣的在你創建 config 文件,生成密鑰時都需要創建在這個 **.ssh** 目錄(文件夾)下。如果你在其他目錄下打開,那你就需要考慮創建文件時的路徑問題了。為了方便明了,就使用上述方法操作,省時省力。

三、配置#

3.1 創建 config 文件#

在 C:\Users\nxg.ssh 目錄(文件夾)下創建 config 文件,並且配置 ssh key 的路由策略。

創建 config 文件:

touch config

在 config 文件中配置

# GitHub
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    User git
    
# Github2
Host github2
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github2
    User git    

# gitee
Host gitee.com #自己的碼雲地址
    HostName gitee.com  
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitee
    User git
    

效果如圖所示:

image-20221031224144979

“#” 表示註釋
Host 後面是名稱,可以隨便寫,相當於起了一個別名

每一個 Host 就代表一個倉庫,倉庫參數另起一行,前有 4 個空格
HostName : 真正連接的伺服器地址

ssh 的 host,SSH 地址 “git@” 後面到冒號前面的內容

User:自定義的用戶名,一般使用 “git”
PreferredAuthentications: 指定優先使用哪種方式驗證,支持密碼和秘鑰驗證方式 。使用 “publickey” 即可,git 倉庫均為這種形式

權限認證 -- 可設為 publickey,password publickey,keyboard-interactive 等
IdentityFile:指定本次連接使用的密鑰文件。 該 host 後台配置的公鑰對應的私鑰地址的絕對路徑
Port : SSH 默認端口號為 22,某些私有部署的 git 倉庫會更換端口號

3.2 全局配置#

以 github 為例:

# global全局配置,這裡使用全局配置
# 設置用戶名:
git config --global user.name 'abc'  
# 設置郵箱:
git config --global user.email  "[email protected]"

#秘鑰添加到本地,即生成密鑰
ssh-keygen -t rsa -C "[email protected]"

# 同理gitee帳號也是這麼操作的。

注:這裡的 abc 是 GitHub用戶名[email protected]這裡是你綁定 GitHub 上的郵箱

如下圖效果:

image-20221031232651471

配置 gitee 效果如下圖所示:

image-20221031232222217

注意:生成密鑰文件需要與這裡保持一致

image-20221031233525370

測試是否連接成功#

測試 GitHub 是否連接成功:

ssh -T git@github2

成功效果:

Hi abc! You've successfully authenticated, but GitHub does not provide shell access.

測試 Gitee 是否連接成功:

成功效果:

Hi nxg! You've successfully authenticated, but GITEE.COM does not provide shell access.

注意事項:

image-20221031234333269

四、關聯 github#

將 id_rsa_gitee.pub 文件中的內容添加到 gitee 設置中的 SSH 公鑰中。

將 id_rsa_github2.pub 文件中的內容添加到 github 的 settings 的 SSH and GPG keys 的 SSH 公鑰中。

注:上面的文件都在

image-20221101162514113

效果如下圖所示:

image-20221101162133360

注意#

在配置多個帳號的,方式有多種,可以使用直接修改文件的方式,也可以使用命令的方式

這裡使用修改文件的方式

首先需要在這 C:\Users\nxg 路徑下,找到 **.gitconfig** 文件,並打開此文件

image-20221031235250843

注意:別直接雙擊打開,需要選擇打開方式,選文本打開,或者其他編輯工具打開。

.gitconfig文件內容:

[user]
	name = xiaoli
	email = [email protected]
[core]
	autocrlf = true
[http]
	sslVerify = false
[user]
	name = abc
	email = [email protected]
[core]
	autocrlf = true
[http]
	sslVerify = false

效果如下圖所示:

image-20221031235759564

查看帳號列表:#

git config --global --list

效果如圖所示:

image-20221101000219730

添加密鑰的方式#

方式一:

ssh-keygen -t rsa -C "[email protected]"

再執行 id_rsa

image-20221031232651471

方式二:

ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa

效果如圖所示:

image-20221101000544601

ssh-keygen 常用參數說明:

-t: 密鑰類型,可以選擇 dsa | ecdsa | ed25519 | rsa;

-f: 密鑰目錄位置,默認為當前用戶 home 路徑下的.ssh 隱藏目錄,也就是~/.ssh/, 同時默認密鑰文件名以 id_rsa 開頭。如果是 root 用戶,則在 /root/.ssh/id_rsa, 若為其他用戶,則在 /home/username/.ssh/id_rsa;

-C: 指定此密鑰的備註信息,需要配置多個免密登錄時,建議攜帶;

-N: 指定此密鑰對的密碼,如果指定此參數,則命令執行過程中就不會出現交互確認密碼的信息了.

舉例說明:同時指定目錄位置、密碼、註釋信息,就不需要輸入回車鍵即可完成創建:

附件#

git 單一帳號使用教程

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。