GitHub使用SSH連接以及生成修改添加密鑰詳細過程


GitHub如果使用HTTPS方式連接,要一直輸入GitHub的賬號密碼,很麻煩,如果用SSH方式就不需要了

本文就介紹一下如何配置SSH連接,包括生成添加SSH密鑰

以及如果GitHub用的SSH密鑰密碼忘了,或者想去掉密鑰的密碼,以及更換密鑰的方式

1. 先看看本地有沒有SSH密鑰

  • 打開git bash,輸入:
ls -al ~/.ssh

如下圖,看到了類似 .id_rsa.pub 的字樣的文件名,公鑰的文件名一般是這個,找到了說明本地有。

Y2jUxI.png

2. 生成/修改密鑰

  • 生成SSH密鑰的指令如下,想要修改也是用這個先生成再覆蓋
ssh-keygen -t rsa -b 4096 -C "yourid@email.com"

把上面的yourid@email.com替換成你的郵箱

結果如下圖,這里讓你指定存密鑰的路徑,可以直接敲回車,讓它按默認路徑就好,默認路徑就是后面括號里的。

Y2jDZ8.png

  • 如果之前在這個默認位置設置過密鑰,這里就會問你要不要覆蓋之前的密鑰,我們的目的正是修改!直接輸入y,Yes!

Y2jdMt.png

  • 然后讓你設置密碼,可以不用設,設的話每次都都要輸入,很麻煩,不設就直接敲回車跳過。(我這里設了)

Y2jtGd.png

  • 看到這個頁面就說明成功生成密鑰啦!

Y2jYPH.png

3. 把SSH密鑰添加到ssh-agent

  • 啟動一下ssh-agent
eval $(ssh-agent -s)

結果如下

Y2j0qf.png

  • 把SSH私鑰添加到ssh-agent
ssh-add ~/.ssh/id_rsa

有密碼的要輸一手密碼,結果如下就是添加好了

Y2jDZ8.png

4. 把SSH密鑰添加到GitHub賬戶里

  • 先把密鑰復制一下

可以在git bash里用如下命令

clip < ~/.ssh/id_rsa.pub

Y2jwsP.png

自己找到文件手工復制也行

  • 打開GitHub,右上角在點自己頭像,進入Settings

Y2jrdS.png

  • SSH and GPG keys

Y2jsIg.png

如果之前有過密鑰,要修改是下面這樣子

Y2jcGj.png

沒有就是這個樣子

Y2j6iQ.png

  • 之前的密鑰不要的就點Delete給刪除。然后新建一個,點 New SSH key
  • Key里把之前復制好的密鑰粘貼進去
  • Title隨自己心情給自己的密鑰起個名字
  • Add SSH key添加

Y2jgRs.png

像這樣子就好了

YRu2EF.png

  • git bash 里可以測試一下有沒有正常工作
ssh -T git@github.com

像下面這樣出現 Hi! +用戶名就是正常了

YRMgfJ.png

如果是第一次添加SSH,還應該會問你

Are you sure you want to continue connecting? 選擇yes就行了

5. 測試使用ssh地址clone倉庫

  • 隨便找個倉庫選ssh地址復制

YRiGIx.png

  • git bash 中用git的地址clone
git clone git@github.com:Zolich666/Information-Integration.git
  • 如果密鑰設置了密碼,clone還得輸密碼

YRiYi6.png

  • OK!成功,之后的push操作就可以用SSH協議的方式了!

YRiYi6.png

6. 把遠程倉庫的URL從HTTPS改成SSH

那么如果是之前用HTTPS方式clone下來的倉庫想改成使用SSH的方式怎么辦呢?

  • 將路徑改為某個之前clone的倉庫下

YRFMff.png

  • 獲取一下要更改的倉庫名稱,看看是不是HTTPS方式
git remote -v

我這樣https://打頭的就說明這個倉庫是HTTPS方式的

YRFKtP.png

  • 用 set-url修改URL為SSH的形式
git remote set-url origin git@github.com:Zolich666/Notes-of-Learning.git

兩種方式URL的區別如下

HTTPS方式

https://github.com/USERNAME/REPONAME.git

SSH方式

git@github.com:USERNAME/REPONAME.git

YRF11S.png

  • OK,完了再用git remote -v檢查一下有沒有修改成功

YRF36g.png

這樣就改好了

7. 嘗試一下push

  • 隨便修改一下倉庫的內容,push一下看看情況

YRAbfP.png

成功!這次沒讓我輸入GitHub賬號密碼了

但是,如果密鑰設置了密碼,這里還是會讓你輸入密碼。。。


還想BB幾句

感謝你看到這里!我是在努力code,剛嘗試寫博的小白zolich。我喜歡看簡單細致的教程學習,我也想把自己的學習心得寫成這種形式,幫助自己記憶,也希望幫到像我一樣在努力學習的人。

如果這篇文章對你有一點點幫助的話,順手推薦or收藏or分享下吧~拜托啦,這對我真的很重要!還想看這種類型的文章的話加個關注吧!你的支持是對我最大的鼓勵!

水平所限,如有疏漏,歡迎指正~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM