Git配置ssh key

目錄

 

一、本地配置單個ssh key

二、本地配置多個ssh key


一、本地配置單個ssh key

  1. 打開本地git bash,使用如下命令生成ssh公鑰和私鑰對(配置github或gitlab的方法一致)

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

     然後一路回車(-C 參數是你的郵箱地址)

  2. 然後打開~/.ssh/id_rsa.pub文件(~表示用戶目錄,比如我的windows就是C:\Users\Administrator),複製其中的內容

  3. 打開gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,並把上一步中複製的內容粘貼到Key所對應的文本框,在Title對應的文本框中給這個sshkey設置一個名字,點擊Add key按鈕

  4. 到此就完成了gitlab配置ssh key的所有步驟,我們就可以愉快的使用ssh協議進行代碼的拉取以及提交等操作了

  5. 再試一下拉取代碼和提交代碼,應該就不需要輸入密碼了

二、本地配置多個ssh key

大多數時候,我們的機器上會有很多的git host,比如公司gitlab、github、oschina等,那我們就需要在本地配置多個ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github爲例):

  1. 爲公司生成一對祕鑰ssh key

    ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/gitlab-rsa
    

    爲github生成一對祕鑰ssh key

    ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/github-rsa

    兩次都是要輸入密碼的,密碼隨意。

    如果出現了bash: $'\302\226git': command not found。

    那是命令開頭多了空格,去除就好了。

  2. 在~/.ssh目錄下新建名稱爲config的文件(無後綴名)。用於配置多個不同的host使用不同的ssh key,內容如下:

    # 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
      ​
    # 配置文件參數
    # Host : Host可以看作是一個你要識別的模式,對識別的模式,進行配置對應的的主機名和ssh文件
    # HostName : 要登錄主機的主機名
    # User : 登錄名
    # IdentityFile : 指明上面User對應的identityFile路徑

     

  3. 按照上面的步驟分別往gitlab和github上添加生成的公鑰gitlab_id-rsa.pub和github_id-rsa.pub
  4. OK,大功告成,再次執行git命令驗證是不是已經不需要再次驗證權限了。

  5. 再次查看~/..ssh目錄下的文件,會有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四個文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章