github上新增SSH-key以及遇到的問題

當我們在git上創建完了倉庫之後,需要創建SSH-key,由於本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以必須要讓github倉庫認證你SSH key,在此之前,必須要生成SSH key。

生成SSH key步驟如下

1、cd ~ 進入當前目錄, ls -a 查看 .ssh 文件夾是否存在,如果沒有,則 mkdir .ssh 創建該文件夾

2、cd ~/.ssh 進入目錄

查看目錄下是否有id_rsa(私鑰),id_rsa.pub(公鑰)文件

如果沒有的話,直接創建即可

3、輸入 ssh-keygen -t rsa -C "[email protected]"

如果在生成key的過程中不指定文件名稱,就會生成默認文件(id_rsa,id_rsa.pub)如果第一次創建,可以不用指定,直接創建,但是如果已經有了id_rsa,id_rsa.pub文件,其他的地方還在用,這時候就不能直接覆蓋,需要在(/Users/xxx/.ssh/id_rsa):xxxxx(指定文件名稱)  

設置密碼

生成文件

4、將id_rsa.pub_github文件中內容copy至github的SSH Keys中

5、測試是否可以連接,ssh -T [email protected]

如果報錯的話,還需要配置config文件

6、配置config文件

#github 

Host github 

HostName github.com 

User [email protected] 

IdentityFile ~/.ssh/id_rsa_github

7、測試 

如果出現讓輸入密碼,基本是OK的

如果出現 [email protected]: Permission denied (publickey).的錯誤

則說明沒有權限訪問github

ssh -v [email protected]

查看上圖發現,默認讀取的還是默認的文件 id_rsa


但是我自己 .ssh 文件夾下的是id_rsa_github的文件,這個id_rsa_github文件是沒有在 ssh key 隊列裏的

因此,執行命令 ssh-add id_rsa_github將id_rsa_github文件加入到此隊列中,然後在進行測試即可。

 

問題記錄:

有一次我切換用戶至root,在切換回來的時候,git pull 代碼的時候就報 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password) 的錯誤,意思是沒有權限。下面是解決此問題的步驟

1、我查看github上的publicKey是有的,.ssh下的文件內容也是OK的,但是就是報這個錯誤

最後通過 ssh -v [email protected] 發現沒有添加 id_rsa的文件信息

2、通過ssh-add id_rsa_github的時候 報錯 Could not open a connection to your authentication agent 意思是

無法打開到您的身份驗證代理的連接。然後 執行 eval `ssh-agent` ,在 ssh-add id_rsa 就可以克隆提交或拉取代碼了

 

內容參考:https://www.cnblogs.com/520yang/articles/6875260.html

https://blog.csdn.net/weixin_41610178/article/details/83996609

 

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