讓你的Git使用上ssh協議受權

  1. ssh原理
  2. 基本的ssh配置
  3. 多帳號ssh配置
  4. 同一平臺下的多帳號配置

ssh原理

維基百科:sshgit

我的以爲最直接的好處就是Git每次提交時不用輸密碼github

基本的ssh配置

GitCafe的幫助文檔:如何安裝和設置 Gitshell

簡要總結一下vim

  1. 打開ssh目錄,通常是隱藏的 cd ~/.ssh
  2. 生成密鑰文件,這樣就會生成默認名字爲id_rsaid_rsa.pubssh

    ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM"

    (說明:YOUR_EMAIL@YOUREMAIL.COM換成你本身的郵箱)ide

  3. 打開公鑰文件(id_rsa.pub),並把內容複製至代碼託管平臺上測試

    vim ~/.ssh/id_rsa.pub

    進入 GitCafe -->帳戶設置-->SSH 公鑰管理設置項,點擊添加新公鑰 按鈕,在 Title 文本框中輸入任意字符,在 Key 文本框粘貼剛纔複製的公鑰字符串,按保存按鈕完成操做。url

  4. 測試spa

    ssh -T git@gitcafe.com

    成功應該提示.net

    Hi xxxxxx! You've successfully authenticated, but GitCafe does not provide shell access.

這樣就能夠只用ssh協議的URL了,通常默認是https協議的,如圖點擊SSH便可切換:

設置clone路徑

這樣push代碼時就不用再輸密碼了。

多帳號ssh配置

當你在Github或Gitcafe或Coding都有帳號時

假設已經有一個Gitcafe的密鑰了,須要須要添加Github的

  1. 生成指定名字的密鑰

    ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM" -f ~/.ssh/github

    命名爲github(這裏叫什麼隨意,不要重名便可),而後會生成githubgithub.pub這兩個文件

  2. 打開公鑰文件(id_rsa.pub),並把內容複製至代碼託管平臺上
  3. 修改config文件

    vim ~/.ssh/config

    添加以下代碼

    Host github.com www.github.com
    IdentityFile ~/.ssh/github
  4. 測試

    ssh -T git@github.com

    若是是coding的

    Host coding.net www.coding.net
    IdentityFile ~/.ssh/coding

同一平臺下的多帳號配置

若是有兩個Github帳號:

  1. 也是按照 多帳號設置 的方法進行第一第二步
    這樣你就已經正確的生成好了兩個密鑰,假設是:github_agithub_b分別對應的是你的帳戶aaaaaa和帳戶bbbbbb
  2. 修改config文件

    vim ~/.ssh/config

    添加以下代碼

    Host aaaaaa.github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_a
    Host bbbbbb.github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_b
  3. 修改ssh URL
    例如原來的url是:git@github.com:aaaaaa/xxxxxx.git
    須要改爲:git@aaaaaa.github.com:aaaaaa/xxxxxx.git
    bbbbbb帳號的修改也是如此

最後補充一點(這部分Git熟悉的基本能夠略過):有些童鞋可能在設置這個多帳號前已經配置了一個Github的ssh,而後把代碼clone下來,配置多帳號後,原來的代碼就提交不上了。

此時你進入 原來clone的代碼文件夾下,執行 git remote -v,便可看到遠處資源庫路徑

如:git@github.com:aaaaaa/xxxxxx.git

執行git remote remove origin刪除該遠程路徑

執行git remote add origin git@aaaaaa.github.com:aaaaaa/xxxxxx.git加上正確的遠程倉庫。

相關文章
相關標籤/搜索