最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

10分鐘教你本地配置多個(gè)git ssh連接的方法

 更新時(shí)間:2020年11月19日 10:11:19   作者:納擼多  
這篇文章主要介紹了10分鐘教你本地配置多個(gè)git ssh連接的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

你最近換電腦了嗎?還記得如何在本地配置多個(gè) git ssh 連接嗎?一般公司用的是自己內(nèi)網(wǎng)部署的 gitlab 服務(wù)器進(jìn)行代碼管理,開發(fā)者使用的是公司的用戶名和公司的郵箱,而在個(gè)人的開源項(xiàng)目中,我們的代碼托管于 github,這個(gè)時(shí)候就需要兩個(gè)或多個(gè)以上的 SSH-Key 去進(jìn)行登錄,方便代碼的拉取與推送。

文章大綱

  • 查看所有 ssh key
  • 分別配置 gitlab 內(nèi)網(wǎng) 和 github 外網(wǎng) ssh
  • 進(jìn)行測試

第一步:查看所有 SSH-Key

打開 bash/zsh 終端:執(zhí)行以下命令

$ cd ~/.ssh/
$ ls

輸出如下:

KaydeMBP:~ kayliang$ cd ~/.ssh/
KaydeMBP:.ssh kayliang$ ls
config   github_id-rsa.pub gitlabnei_id-rsa.pub
github_id-rsa  gitlabnei_id-rsa known_hosts

第二步:生成一個(gè) ssh-key,用于配置公司的 GitLab

在~/.ssh/目錄會生成gitlab_id-rsa和gitlab_id-rsa.pub私鑰和公鑰。

$ ssh-keygen -t rsa -C "xxx@xxx.com" -f ~/.ssh/gitlabnei_id-rsa

查看你的 public key,我們將gitlabnei_id-rsa.pub中的內(nèi)容粘帖到公司GitLab服務(wù)器的SSH-key的配置中。

# 把文件內(nèi)容打印到命令行工具上,方便復(fù)制
cat ~/.ssh/gitlab_id-rsa.pub

格式如下所示,記得把整個(gè)文本包括 ssh-rsa 也復(fù)制到剪切板上。

ssh - rsa;

xxxxxxxxx;
xxxxx;

然后粘貼到網(wǎng)站的 ssh 配置中:

第三步:Github 生成一個(gè) SSH-Key

在~/.ssh/目錄會生成github_id-rsa和github_id-rsa.pub私鑰和公鑰。我們將github_id-rsa.pub中的內(nèi)容粘帖到github服務(wù)器的SSH-key的配置中。

ssh-keygen -t rsa -C "xxxx@xxxx.com" -f ~/.ssh/github_id-rsa

第四步:在 ~/.ssh 目錄下添加config配置文件用于區(qū)分多個(gè) SSH-Key

1. 添加識別 SSH keys 新的私鑰

默認(rèn)只讀取 id_rsa,為了讓 SSH 識別新的私鑰,需要將新的私鑰加入到 SSH agent 中

# 查看已經(jīng)添加的私鑰
ssh-add -l

3072 SHA256:xxxxxxxxxx linjy@xxxx.com.cn (RSA)

$ ssh-agent bash
$ ssh-add ~/.ssh/github_id_rsa
$ ssh-add ~/.ssh/gitlabnei_id_rsa

這一步很重要,否則你在后面進(jìn)行 git clone 拉取 ssh 地址的倉庫會出現(xiàn)錯(cuò)誤。

KaydeMBP:chengdu-project kayliang$ git clone ssh://git@xxxxxxx.amazonaws.com.cn:5337/xdata/SH2019GH109/chengdu-natural-resources-cli3.git
Cloning into 'chengdu-natural-resources-cli3'...
no such identity: gitlabnei_id-rsa: No such file or directory
git@xxxxxxx.amazonaws.com.cn: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

2. 添加 config 配置文件

vi ~/.ssh/config

設(shè)置文件內(nèi)容如下,這里要注意的是:配置的信息必須跟你在倉庫界面的 ssh 的地址一致,因?yàn)橛袝r(shí)候 http 地址跟 ssh 地址的端口是不一樣的。

地址:ssh://git@xxxxx.amazonaws.com.cn:5337/xdata/SH2019GH109/xxxxx.git

 根據(jù)上面的地址可以進(jìn)行配置如下:

# gitlab
 Host xxxxx.amazonaws.com.cn # 這里是 ssh 地址的 ip
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/gitlabnei_id-rsa
 Port 5337 # 這里是 ssh 地址的端口

# github
Host github.com
 HostName github.com
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/github_id-rsa
 
# 更多配置 ...

配置文件參數(shù):

  • Host:可以看作是一個(gè)你要識別的模式,對識別的模式,進(jìn)行配置對應(yīng)的主機(jī)名和 ssh 文件。
  • HostName: 要登錄主機(jī)的主機(jī)名。
  • User: 登錄名。
  • IdentityFile: 指明上面 User 對應(yīng)的 identityFile 路徑。
  • Port: ssh 端口

第五步:測試

測試 github 外網(wǎng) ssh 地址

ssh -T git@github.com

輸出:

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

測試公司內(nèi)網(wǎng) ssh 地址

ssh -T git@xxxx.amazonaws.com.cn
Welcome to GitLab, @linjy!

就表示成功的連接公司的 gitlab。

最后

使用 git clone 分別獲取你的 github 個(gè)人項(xiàng)目,以及獲取 gitlab 的公司內(nèi)網(wǎng)項(xiàng)目:

git clone ssh://xxxx.amazonaws.com.cn:5337/xdata/SH2020GH036/xxxx.git
cd my-project
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

因?yàn)閭€(gè)人項(xiàng)目和公司項(xiàng)目的賬戶和郵箱都不一樣,記得在各自的倉庫下進(jìn)行配置,這樣提交時(shí)的 commit 記錄的用戶和郵箱都是正確的,當(dāng)然這一步對你是否能用 ssh 提交和獲取不影響的,只是為了看 commit 記錄的時(shí)候更清晰。

 git config user.name xxxx
 git config user.email xxxx@xxx.com

小結(jié)

本文是筆者在實(shí)踐中的記錄,也參考了一些網(wǎng)上優(yōu)秀的作者經(jīng)驗(yàn),如有錯(cuò)誤請指出。
參考資料

更進(jìn)一步閱讀,了解 SSH 知識:https://segmentfault.com/q/1010000000835302 和 《SSH,The Secure Shell》 書本。

git 手冊

到此這篇關(guān)于10分鐘教你本地配置多個(gè)git ssh連接的方法的文章就介紹到這了,更多相關(guān)git ssh連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IDEA導(dǎo)入Git項(xiàng)目的方法

    IDEA導(dǎo)入Git項(xiàng)目的方法

    這篇文章主要介紹了IDEA導(dǎo)入Git項(xiàng)目的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 怎樣刪除Git中緩存的用戶名和密碼

    怎樣刪除Git中緩存的用戶名和密碼

    這篇文章主要介紹了怎樣刪除Git中緩存的用戶名和密碼問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Git基本常用命令

    Git基本常用命令

    本文主要介紹了Git基本常用命令。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • IDEA中使用Git拉取代碼時(shí)報(bào) Git pull failed原因及解決方法

    IDEA中使用Git拉取代碼時(shí)報(bào) Git pull failed原因及解決方法

    這篇文章主要介紹了IDEA中使用Git拉取代碼時(shí)報(bào) Git pull failed原因及解決方法,本文給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • VS Code使用Git可視化管理源代碼詳細(xì)教程(推薦)

    VS Code使用Git可視化管理源代碼詳細(xì)教程(推薦)

    這篇文章主要介紹了VS Code使用Git可視化管理源代碼詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • git中commit和push的區(qū)別及說明

    git中commit和push的區(qū)別及說明

    這篇文章主要介紹了git中commit和push的區(qū)別及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • JSON數(shù)據(jù)格式化方法詳細(xì)介紹

    JSON數(shù)據(jù)格式化方法詳細(xì)介紹

    JSON(JavaScript?Object?Notation)是一種輕量級的數(shù)據(jù)交換格式,基于JavaScript編程語言的一個(gè)子集,它已經(jīng)成為一個(gè)完全獨(dú)立于語言的文本格式,被廣泛采用和應(yīng)用于多種編程境中,需要的朋友可以參考下
    2024-09-09
  • .gitignore文件作用及使用方法詳解

    .gitignore文件作用及使用方法詳解

    這篇文章主要為大家介紹了.gitignore文件作用及使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 將Git存儲庫克隆到本地IntelliJ IDEA項(xiàng)目中的詳細(xì)教程

    將Git存儲庫克隆到本地IntelliJ IDEA項(xiàng)目中的詳細(xì)教程

    這篇文章主要介紹了將Git存儲庫克隆到本地IntelliJ IDEA項(xiàng)目中的詳細(xì)教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 如何讓Visual Studio用上chatgpt

    如何讓Visual Studio用上chatgpt

    這篇文章主要介紹了如何讓Visual Studio用上chatgpt,Visual chatGPT Studio是Visual Studio的一個(gè)免費(fèi)擴(kuò)展,它直接在IDE中添加了chatGPT功能,它允許用戶以可以根據(jù)菜單功能的方式使用chatGPT,需要的朋友可以參考下
    2023-05-05

最新評論

宜春市| 广宗县| 墨竹工卡县| 颍上县| 勃利县| 手游| 徐闻县| 徐水县| 许昌市| 长葛市| 禄劝| 平度市| 东城区| 永宁县| 甘洛县| 永仁县| 西充县| 修水县| 奉化市| 长岛县| 外汇| 梓潼县| 射阳县| 丹阳市| 宽甸| 荆州市| 婺源县| 江津市| 德令哈市| 高安市| 大厂| 儋州市| 荔波县| 呈贡县| 新乡市| 武义县| 贵定县| 武功县| 兴仁县| 逊克县| 岚皋县|