Git安裝及SSH Key管理之Windows篇

來源:互聯網
上載者:User

標籤:版本   技術   config   config檔案   password   公開金鑰   輸入   問題   讀取   

一、安裝環境

1、本機系統:Windows 10 Pro(64位)
2、Git版本:Git-2.11.0-64-bit.exe(64位)

二、Git安裝

去官網下載完後一路下一步完成安裝,如:


 

安裝完後先在系統內容變數中看下是否配置


 

然後在案頭右擊滑鼠,選擇Git bash here,然後輸入下面代碼:

git --version #驗證git是否安裝成功,輸出版本號碼就代表安裝成功

如:


 

安裝完成有配置一下全域的使用者名稱和郵箱,輸入如下命令:

git config --global user.name "自訂使用者名稱"git config --global user.email "郵箱"

使用如下命令可以取消全域設定:

git config --global --unset user.namegit config --global --unset user.email

 三、Git產生單個SSH key及管理產生的多個SSH Key

1、產生單個SSH Key,輸入下面的命令【命令說明】

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

產生單個SSH Key時可以連續斷行符號,不輸入密鑰檔案名稱字和密碼


 

產生後會在【C:\Users\使用者名稱.ssh】下產生兩個檔案,


 

2、管理git產生的多個ssh key
問題說明
當有多個git帳號的時候,比如一個github,用於自己進行一些開發活動,再來一個gitlab,一般是公司內部的git。這兩者你的郵箱如果不同的話,就會涉及到一個問題,產生第二個git的key的時候會覆蓋第一個的key,導致必然有一個用不了。

解決方案
我們可以在【~/.ssh】目錄下建立一個config檔案配置一下,就可以解決問題

具體步驟

  • 產生第一個ssh key(這裡我用的是github的郵箱)
ssh-keygen -t rsa -C "[email protected]"

進入【C:\Users\使用者名稱.ssh】,點擊滑鼠右鍵-選擇Git bash here,這一步很重要,不然在下面輸入密鑰名稱的時候,會將密鑰產生在當前開啟git bash的路徑下,比如我在案頭開啟的git bash,就會產生在案頭上,當然也可以在輸入名稱前將路徑補全。如:


 

這裡我沒有一路【斷行符號】而是給產生的密鑰命名為【id_rsa_github】,下面連續兩次斷行符號,沒有給密鑰設定密碼(看個人需求)

  • 產生另一個ssh key(這裡我用的公司郵箱)
ssh-keygen -t rsa -C "[email protected]"

 

產生後的檔案如所示:


 
  • 執行ssh-agent命令

ssh-agent就是一個密鑰管理器,運行ssh-agent以後,使用ssh-add將私密金鑰交給ssh-agent保管,其他程式需要身分識別驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程


 
  • 添加私密金鑰
ssh-add ~/.ssh/id_rsa_githubssh-add ~/.ssh/id_rsa_gitlab

在執行上面的添加私密金鑰命令時,如果出現如下錯誤:


 

解決方案如下:
1、輸入如下命令查看已開啟的ssh-agent線程


 
ps aux | grep ssh

 

執行如下命令殺死線程:

kill -9 線程號

 

進入使用者名稱目錄下的.ssh目錄,開啟git bash,執行如下命令

exec ssh-agent basheval ssh-agent -sssh-add ./id_rsa_github

 

在執行【ssh-add ./id_rsa_gitlab】將第二個私密金鑰添加進去


 
  • 建立並修改config檔案

1、建立config檔案,將檔案建立在【.ssh】目錄下
①在windows下建立一個txt文本,然後將名字改成config(包括.txt尾碼)
②在git bash下,直接touch config即可建立一個config檔案

2、編輯config檔案,修改如下內容:

# gitlabHost gitool.glanway.comHostName gitool.glanway.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_gitlabUser yangjie# githubHost github.comHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_githubUser yangjie

設定檔說明:
每個帳號單獨配置一個Host,每個Host要取一個別名,每個Host主要配置HostNameIdentityFile兩個屬性即可
Host的名字可以取為自己喜歡的名字,不過這個影響git相關命令
例如:
Host mygithub 這樣定義的話,命令如下,即[email protected]後面緊跟的名字改為mygithub
git clone [email protected]mygithub:PopFisher/AndroidRotateAnim.git
就相當於你配置的HostName真正的網域名稱,映射成了Host後面的配置的名字

HostName                      #這個是真實的網域名稱地址IdentityFile                  #這裡是id_rsa的地址PreferredAuthentications      #配置登入時用什麼許可權認證--可設定publickey,password publickey,keyboard-interactive等User                          #配置使用使用者名稱

【注意】不要在設定檔中添加下面這樣的注釋

HostName git.glanway.com //這裡填你們公司的git網址即可

這種注釋在讀取該設定檔時會導致報錯,不被識別

3、將公開金鑰添加到github和gitlab上
4、測試
看到如下輸出表示配置成功

ssh -T [email protected]          #測試githubssh -T [email protected]   #測試gitlab

轉載自:
指間的Coding
連結:http://www.jianshu.com/p/a3b4f61d4747
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

Git安裝及SSH Key管理之Windows篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.