国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一臺電腦雙 GitHub 賬戶配置,同時兩個 SSH 密鑰

這篇具有很好參考價值的文章主要介紹了一臺電腦雙 GitHub 賬戶配置,同時兩個 SSH 密鑰。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

本人搞了兩個 GitHub 賬號,一個用來正常的和別人合作項目,另一個用來自己寫一些代碼,希望能做到兩個本地賬戶和遠程賬號都完全隔離,沒有聯(lián)系,也不會被混淆使用。

但是這樣就會有一個問題,設(shè)置本地用戶 user.email 時候,如果兩個 GitHub 賬號倉庫使用同一個本地用戶, GitHub 會將本地的用戶自動與相應的 GitHub 賬號關(guān)聯(lián)起來,這樣在 commit 記錄里面就能看到是誰提交的了,這是我不想看到的結(jié)果。

最開始以為只要把同一個 SSH 公鑰分別添加到兩個 GitHub 賬戶,再在不同的倉庫設(shè)置不同的 user.nameuser email 就 OK 了. 并不行,每個公鑰只能用一次。然后就考慮生成兩個密鑰,分別添加到不同的賬戶,但是電腦在連接遠程倉庫時,只能默認選擇其中固定的一個來連接,并不會根據(jù)不同倉庫的設(shè)置選擇不同的密鑰,結(jié)果就是還是只能免密連接一個 GitHub 賬戶的倉庫。

你所使用的 SSH 密鑰決定了你是否有權(quán)限訪問某一個 GitHub 賬號下面的倉庫,而你本地倉庫設(shè)置的 use email 決定了在 GitHubcommit 記錄中的用戶,而一般在沒有進行以下配置的情況下,你的電腦只會默認使用一個 SSH 密鑰進行連接,這就導致了你只能訪問一個 GitHub 賬號。

如果訪問另一個 Github 賬戶,在 push 時就會報如下錯誤:

兩個git賬號,Git 相關(guān),github,git,linux

下面將詳細介紹方法:

假設(shè)現(xiàn)有兩個賬號分別如下: 一個賬號名為 99Young99、另一個為 CS-Research-alliance

兩個git賬號,Git 相關(guān),github,git,linux
兩個git賬號,Git 相關(guān),github,git,linux

注: 這里舉例實現(xiàn)在相同的平臺 Github 不同賬號使用不同的 SSH,也可以用相同的方法,在不同的平臺使用不同的 SSH

1. 生成密鑰

首先是先生成兩個 SSH 密鑰,對應兩個身份(假設(shè)為 99Young99CS-Research-alliance)。

1.1 檢查是否已經(jīng)有 SSH-Key

打開 Git bash(Linux 中需要打開 Shell),進入 ~/.ssh 目錄,通過命令看看電腦上有 SSH-Key 的相關(guān)文件沒!

cd ~/.ssh
ls

兩個git賬號,Git 相關(guān),github,git,linux

如果顯示 id_rsaid_rsa.pub 文件,說明已經(jīng)有 SSH Key了。如果沒有,那么根據(jù)下面步驟 生成一個!

1.2 生成一個(或多個)SSH-Key

生成一個 Github 用的 SSH-Key,其中 github_id_rsa 為密鑰的文件名,~/.ssh/github_id_rsa 為密鑰目錄位置:

ssh-keygen -t rsa -C "youremail@example.com" -f ~/.ssh/github_id_rsa

利用上述命令,生成了一對秘鑰 github_id_rsagithub_id_rsa.pub , 保存在了 ~/.ssh 文件夾內(nèi)。

兩個git賬號,Git 相關(guān),github,git,linux

生成另一個 SSH-Key,其中 Othergithub_id_rsa 為密鑰的文件名,~/.ssh/Othergithub_id_rsa 為密鑰目錄位置:

ssh-keygen -t rsa -C "private_email@example.com" -f ~/.ssh/Othergithub_id_rsa

這時候要特別注意 -f ~/.ssh/Othergithub_id_rsa 用于重命名,否則會覆蓋上面的密鑰文件。假設(shè)生成了一對新的秘鑰 Othergithub_id_rsaOthergithub_id_rsa.pub。

然后分別將這兩對密鑰加入到對應的 GitHub 賬戶中。

本章產(chǎn)生的兩個密鑰案例如下:
兩個git賬號,Git 相關(guān),github,git,linux

2. 編輯配置文件

編輯 ~/.ssh/config 文件。如果該文件不存在的話,直接創(chuàng)建一個就好(通過 touch 命令新建 config 文件,并用 vim 編輯器打開 config 文件)。

不同 Host 實際映射到同一 HostName,但密鑰文件不同。Host 前綴可自定義,例子中 99Young99

分步解釋

Host 99Young99.github.com (自定義的 Host 簡稱,以后連接遠程服務(wù)器就可以用 99Young99.github.com 代替 HostName 的 github.com, 相當于網(wǎng)站的別名,隨意取,并且可以去掉 github.com 直接取名為 99Young99.github.com)

Host 遠程倉庫的地址,注意哦,如果有些服務(wù)器做的 ip 端口轉(zhuǎn)發(fā),這里不要帶上端口號
Host 99Young99.github.com
HostName (托管網(wǎng)站的域名) 是遠程倉庫的地址,同樣如果做的端口轉(zhuǎn)發(fā)也不應帶端口號 
HostName 主機名可用 ip 也可以是域名(如:github.com或者bitbucket.org)
網(wǎng)上大部分教程的配置文件中 Hostname 都是 github.com,配置成那樣可能不能正常 SSH 訪問,如果沒有成功,改為 ssh.github.com 試一下 (本人沒加 ssh 成功了,如下)
HostName github.com
Port 端口號,如果有做轉(zhuǎn)發(fā)需要在這里填寫端口號,沒有就不必要填
Port 服務(wù)器 open-ssh 端口 (默認:22,默認時一般不寫此行)
Port 8800
PreferredAuthentications publickey
用戶
User 登錄用戶名(如:git) // 即 github 上的用戶名
User 99Young99
識別 key 的文件
IdentityFile 證書文件路徑(如~/.ssh/id_rsa_*)
IdentityFile ~/.ssh/id_rsa

完整配置

Host 99Young99.github.com
HostName github.com
PreferredAuthentications publickey
User 99Young99
IdentityFile ~/.ssh/id_rsa

配置另一個 Github 賬號

都指向同一個平臺的話,下面的 Host 需要做個處理,因為我們在用這個 key 的時候根據(jù) Host 從上到下進行查找,不做修改肯定會先查找到第一個 key, 依舊無效,隨便改就好了,其他參數(shù)不做特殊處理
Host CS-Research-alliance.github.com
HostName github.com
PreferredAuthentications publickey
User CS-Research-alliance 
IdentityFile ~/.ssh/github_id_rsa
網(wǎng)上大部分教程的配置文件中 Hostname 都是 github.com,配置成那樣是不能正常 SSH 訪問的。

先注意一下: 這里一定是先把兩個公鑰添加到對應的 GitHub 賬戶,再進行下面的 ssh 連接測試,否則肯定是連接不上,會顯示 permission denied。)

第 1步】首先創(chuàng)建 GitHub 賬號并登陸,打開 Setting 進行設(shè)置,新建 SSH key

兩個git賬號,Git 相關(guān),github,git,linux

第 2 步】點 New SSH key 后,填上任意 Title,在 Key 文本框里粘貼id_rsa.pub 文件的所有內(nèi)容:

兩個git賬號,Git 相關(guān),github,git,linux

第 3 步】輸入密碼進行確認,最后就可以看到,SSH key 添加完成

兩個git賬號,Git 相關(guān),github,git,linux
兩個git賬號,Git 相關(guān),github,git,linux

這時候,可以測試一下配置是否成功,測試命令使用別名。例如,對于 GitHub,本來應該使用的測試命令是:

ssh -T git@github.com

但在 config 文件中,給 GitHub 網(wǎng)站配置的別名就是 CS-Research-alliance.github.com 以及 99Young99.github.com,所以直接使用別名,就是

ssh -T git@CS-Research-alliance.github.com
ssh -T git@99Young99.github.com

出現(xiàn)如下信息說明配置成功了

Hi CS-Research-alliance! You've successfully authenticated, but GitHub does not provide shell access.

兩個git賬號,Git 相關(guān),github,git,linux

同樣的方式就可以配置更多的以 SSH 登錄的不同 git 用戶。

3. 配置倉庫設(shè)置

配置倉庫是因為這個時候有多個 SSH ,并對應了多個賬戶,所以每個賬戶應該在對應倉庫配置專屬的本地用戶名和郵箱,否則默認所有用戶均使用的全局用戶名和郵箱。

首先要刪除 Git 配置的全局用戶名和郵件地址,接著在每個項目倉庫中按照需求設(shè)置不同的 user.nameuser.email

# 查看全局配置
git config --global user.name
git config --global user.email

# 查看本地配置(只能在 git 倉庫中使用)
git config --local user.name
git config --local user.email
# 刪除全局設(shè)置
git config --global --unset user.name
git config --global --unset user.email

# 添加本地設(shè)置
# 設(shè)置為私有倉庫的GitHub賬號郵箱和公有賬號的GitHub郵箱。
git config --local user.name "個人github賬號名"
git config --local user.email "個人github賬號郵箱"

對于 Github99Young99 的本地倉庫配置如下:

git config --local user.name "99Young99"
git config --local user.email "xxx@qq.com"

對于 GithubCS-Research-alliance 的本地倉庫配置如下:

git config --local user.name "CS-Research-alliance"
git config --local user.email "xxx@163.com"

如果出現(xiàn)如下報錯,是因為必須要進入到 git 倉庫才可以正常執(zhí)行命令

fatal: --local can only be used inside a git repository

這一步以及后面的添加遠程倉庫,每創(chuàng)建一個新的本地倉庫的時候,都需要指定,因為全局配置已經(jīng)刪除了

之后在添加遠程倉庫的時候,把 github.com 修改成 99Young99.github.com 或者 CS-Research-alliance.github.com 就好了(即上述文件中的 Host 選項),用上面兩個 Host 名稱來代替原來的 github.com,(這一步很重要)如:

git remote add origin git@99Young99.github.com:xxx/example.git # 99Young99
git remote add origin git@CS-Research-alliance.github.com:xxx/example.git # CS-Research-alliance.github

其實,上面的配置文件的意思就是,按照設(shè)置遠程倉庫時使用不同的 Host 名稱,查找 ~/.ssh/config 文件,使用不同的 SSH 文件連接到 GitHub。這樣你就將是以不同的身份訪問 GitHub 倉庫。

4. 提交項目到不同的賬戶

比如提交到 CS-Research-alliance 賬戶上

初始化本地倉庫

git init 

連接遠程倉庫,注意遠程倉庫的地址,其中 @ 后默認為 github.com,需要改為 ~/.ssh/config 配置 Host 時的別名,如本人的為:CS-Research-alliance.github.com

git remote add origin git@CS-Research-alliance.github.com:CS-Research-alliance/Summer-camp-and-exemption.git # 連接遠程倉庫

由于 Github 創(chuàng)建分支默認為 main,所以需要將本地的 master 分支改為 main 分支(先看最后的命令解釋,再考慮是否執(zhí)行此句)

git branch -M main

如果遠程倉庫有內(nèi)容,包含 README 文件,需要先執(zhí)行下述命令

git pull --rebase origin master

提交項目

git add .
git commit -m "任意內(nèi)容"

-u 表示如果遠程沒有 master 分支,會創(chuàng)建一個 master 分支,并將項目提交上去,也就不需要將本地的 master 分支改為 main 了,否則執(zhí)行:git push -u origin main

git push -u origin master

References

[1] 一臺電腦雙GitHub賬戶配置

[2] 新手如何配置多個 SSH Key(通俗易懂手把手教學)

[3] 怎么給Git配置多個SSH Key?

[4] 一臺電腦綁定兩個(或多個)github賬號

[5] 在一臺電腦上配置多個github和gitlab賬號文章來源地址http://www.zghlxwxcb.cn/news/detail-755135.html

到了這里,關(guān)于一臺電腦雙 GitHub 賬戶配置,同時兩個 SSH 密鑰的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • JAVA:【基礎(chǔ)九】GitHub上配置SSH密鑰

    JAVA:【基礎(chǔ)九】GitHub上配置SSH密鑰

    ????????超級完整流程可參考一下連接《從安裝git到在github上創(chuàng)建新項目》:https://blog.csdn.net/qq_41990294/article/details/124631575 ? ? ? ? 1.另行百度,網(wǎng)上資源很多 ? ? ? ? 1.密鑰的生成位置: ????????????????C:UsersAdministrator.sshid_rsa ????????????????C:Users

    2023年04月08日
    瀏覽(16)
  • git ssh密鑰配置 & 本地項目推送到github

    1 加密算法類型如下所示: 算法類型 公鑰 私鑰 ED25519 id_ed25519.pub id_ed25519 RSA id_rsa.pub id_rsa 步驟一: 查看已存在的 SSH 公鑰 ED25519 算法 cat ~/.ssh/id_ed25519.pub RSA 算法 cat ~/.ssh/id_rsa.pub 步驟二: 生成 SSH 密鑰 如果沒有公鑰 基于ED25519算法,生成密鑰對命令如下: ssh-keygen -t ed25519 -C “

    2024年04月23日
    瀏覽(26)
  • GitHub、Gitee、Gitlab共用一個SSH密鑰配置

    GitHub、Gitee、Gitlab共用一個SSH密鑰配置

    由于我的Github、Gitee、Gitlab用的郵箱不同,向不同的平臺提交代碼時都需要驗證密碼,非常麻煩所以配置了一個共用的SSH密鑰。 原理: 第一步,設(shè)置全局郵箱和用戶名 第二步,生產(chǎn)ssh,我下面給的命令沒有 -C 指定郵箱這項,原因就是我三個git倉庫的郵箱都不同,如果加上

    2024年02月04日
    瀏覽(27)
  • java在一臺電腦上裝兩個或多個jdk如何配置環(huán)境變量,并實現(xiàn)jdk切換

    java在一臺電腦上裝兩個或多個jdk如何配置環(huán)境變量,并實現(xiàn)jdk切換

    在我們學習或者工作的時候可能根據(jù)項目的需求需要使用不同的jdk,那么如何在一臺電腦上實現(xiàn)多個jdk的配置同時方便切換呢? 我這里用兩個jdk來給大家演示,分別是jdk8和jdk14。首先去官網(wǎng)下載所需要jdk的安裝包,或者壓縮包。 下載完成后,安裝或者解壓到你認為合適的位

    2024年02月05日
    瀏覽(20)
  • 【Git】保姆級詳解:Git配置SSH Key(密鑰和公鑰)到github

    【Git】保姆級詳解:Git配置SSH Key(密鑰和公鑰)到github

    博主簡介: 22級計算機科學與技術(shù)本科生一枚?? 博主主頁:是瑤瑤子啦 每日一言??: “當人們做不到一些事情的時候,他們會對你說你也同樣不能?!薄懂斝腋砬瞄T》 克里斯加德納 Git是一個開源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項目

    2024年02月14日
    瀏覽(39)
  • GitHub&Gitee&Gitlab&極狐(JihuLab)同時生成并配置SSH公私鑰詳細過程

    GitHub&Gitee&Gitlab&極狐(JihuLab)同時生成并配置SSH公私鑰詳細過程

    GitHub-微軟-github.com Gitee-開源中國- gitee.com Gitlab-烏克蘭GitLab 公司-gitlab.com 極狐(JihuLab)-中國代理商運營的Gitlab -gitlab.cn或者jihulab.com 使用 SSH公鑰 可以讓你在你的電腦和 GitHub 等平臺通訊的時候使用 更安全的連接 ( Git的Remote 要使用 SSH地址 ,例如 git@gitee.com:king/example.git ),但

    2024年02月09日
    瀏覽(86)
  • git在一臺電腦上配置不同的倉庫(多個gitee倉庫、或者不同的github倉庫)

    git在一臺電腦上配置不同的倉庫(多個gitee倉庫、或者不同的github倉庫)

    在開發(fā)過程中,我們工作的時候難免會使用到兩個不同的倉庫,但是正常來說一電腦默認一個參考,直接會用全局命令 但是這樣只能配置一個倉庫了,本文介紹在一臺電腦上配置多個倉庫,簡單易用,請欣賞! 前提:您已經(jīng)掌握了git倉庫命令,不需要很會,有過配置用 CA證

    2024年02月13日
    瀏覽(24)
  • 一臺電腦安裝兩個idea

    一臺電腦安裝兩個idea

    1.下載安裝兩個idea (需不同版本) 官方下載地址:https://www.jetbrains.com/idea/download 官方其他版本下載地址:其他版本 - IntelliJ IDEA 2.第二個idea需要安裝在不同目錄下 3.用記事本打開并修改IntelliJ IDEA 2022.2binidea.properties ? ?-------只需將四行配置文件注釋放開,關(guān)閉并保存 4.在

    2024年02月20日
    瀏覽(23)
  • 瞎弄電腦BIOS設(shè)置,再次開機進入BitLocker恢復,恰巧微軟賬戶啥密鑰ID都有,就是和自己這個密鑰對不上,然后如何將自己密鑰保存到微軟賬戶

    瞎弄電腦BIOS設(shè)置,再次開機進入BitLocker恢復,恰巧微軟賬戶啥密鑰ID都有,就是和自己這個密鑰對不上,然后如何將自己密鑰保存到微軟賬戶

    系列文章目錄 1.元件基礎(chǔ) 2.電路設(shè)計 3.PCB設(shè)計 4.元件焊接 5.板子調(diào)試 6.程序設(shè)計 7.算法學習 8.編寫exe 9.檢測標準 10.項目舉例 一個普通??粕?,拿什么拯救你的未來? 史上最詳細嵌入式系統(tǒng)設(shè)計師修煉手冊 嵌入式硬件軟件匯總 送給大學畢業(yè)后找不到奮斗方向的你(每周不定

    2024年02月05日
    瀏覽(28)
  • 如何一臺電腦操作兩個adb 設(shè)備

    如何一臺電腦操作兩個adb 設(shè)備

    1.首先使用 命令 2.然后使用

    2024年01月16日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包