1. 程式人生 > >【Git】GitHub的SSH提交配置[

【Git】GitHub的SSH提交配置[

Go src 賬號密碼 方便 不能 cnblogs 郵箱 如果 們的

Git可以通過https方式和ssh方式連接服務器上的倉庫。

兩者比較:
1.https: 比較方便,但是每次fetch和push代碼都需要輸入賬號和密碼,略顯麻煩
2.ssh: 傳輸前壓縮數據,傳輸效率高,不需要每次提供賬號密碼

一、Git的user name和email設置

$ git config --global user.name "xxxx"
$ git config --global user.email "[email protected]"

二、生成密鑰

使用你註冊github的郵箱生成秘鑰

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

中間連續3次Enter鍵

技術分享圖片

.ssh目錄會生成id_rsa和id_rsa.pub兩個文件,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人(關於RSA加密,可以自行百度,這裏不詳細展開)

如果之前此電腦已經生成過密鑰,根據提示在overwrite的時候選擇 y 覆蓋即可。

三、添加SSH key到github賬戶

在GitHub的賬戶添加SSH Key,GitHub才能根據此進行加密解密,從而判斷此提交是由你本人操作。

帶pub的公鑰復制到上面

技術分享圖片

四、測試SSH key是否設置成功

$ssh -T [email protected]

The authenticity of host ‘github.com (192.30.253.113)‘ can‘t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes

是否繼續連接?輸入 yes

輸出如下,則表示通過

Hi xxxx! You‘ve successfully authenticated, but GitHub does not provide shell        access.

五、設置項目連接方式

$ git remote set-url [email protected]:oDevilo/Java-Base

這裏修改的是項目中 .git (隱藏)文件夾下的config文件
原來如下:

[remote "origin"]
    url = https://github.com/oDevilo/Java-Base
    fetch = +refs/heads/*:refs/remotes/origin/*

修改後:

[remote "origin"]
    url = [email protected]:oDevilo/Java-Base
    fetch = +refs/heads/*:refs/remotes/origin/*

之後我們的提交都會變為ssh連接

 SSH -KEYGEN 參考:http://www.cnblogs.com/qlqwjy/p/7469091.html

【Git】GitHub的SSH提交配置[