Git生成公鑰

git在進行同步倉庫時,采用的SSH(Secure Shell)安全外殼協議,ssh的加密算法基于RSA,即非對稱加密。所以當和git服務器通過ssh通信的時候需要向git服務器提前上傳RSA的公鑰,便與git服務器確認我們的身份。因為,我們用私鑰加密信息,對方用公鑰解密,而私鑰只有我們有(私鑰唯一性),所以對方只要能用公鑰進行解密,若信息格式滿足協議要求,就代表此信息是使用與公鑰相匹配的私鑰進行加密的,也就代表信息是我們上傳的(信息的簽名)。

今天,使用git上傳信息時突然提示權限拒絕,這就是說明我們沒有向git同步的權限。整體來看,是RSA的公鑰和私鑰出現了問題。

Snip20170319_2.png

解決辦法:重新生成公鑰,并將其上傳至Github.

$ cd ~/.ssh
$ ssh-keygen -t rsa -C “wanghanfeng3@gmail.com”   #填寫github上的默認郵箱

不需要設密碼的話直接三個回車。

得到 id_rsa 和 id_rsa.pub 兩個文件, id_rsa是RSA的私鑰文件,id_rsa.pub是RSA的公鑰文件。

將id_rsa.pub文件中的內容完整復制到Github的個人設置=》SSH and GPG keys中。

問題解決。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容