踏入 Git 的世界:使用 ssh 與 GitHub 連線 👨🏻💻
前言
Git 是每位軟體工程師日常工作不可或缺的工具之一,畢竟軟體開發常常需要跟他人合作,甚至是維護、更新等⋯⋯可能都需要參照過去的成果,甚至需要快速與團隊同步,因此 Git 對大家而言都不陌生吧!
但是,有時候我們會遇到一些問題,例如:每次 push 都需要輸入帳號密碼,或是每次 push 都需要輸入密碼,這些都是可以透過 ssh 來解決的,接下來就讓我們一起來看看如何使用 ssh 與 GitHub 連線吧!
1. 產生 ssh key
首先,我們需要先產生 ssh key,這個 key 會被存在 ~/.ssh
資料夾中,如果沒有的話,可以使用以下指令建立(記得要把 email 改成你自己的 email,否則永遠不會成功哦!):
1 | ssh-keygen -t ed25519 -C "[email protected]" |
上述操作 ed25519
其實是較新的演算法,如果電腦不支援的話也可以使用以下另一種演算法生成(同樣也要記得把 email 改成你自己的 email):
1 | ssh-keygen -t rsa -b 4096 -C "[email protected]" |
以下將使用 id_rsa
做示範,接下來將出現以下畫面,直接按 Enter 就會幫你把產生的 key 放在預設的地方 ~/.ssh/id_rsa
,也就是下方括號內的位址。
1 | $ Enter a file in which to save the key (/Users/you/.ssh/id_rsa): |
接下來會出現以下畫面,若不想以後 push 都要輸入 passphrase
的話,就連續點擊兩次 Enter 這樣 passphrase
就會是空的,以後 push 就不用輸入了!
1 | # Click Enter Twice |
這樣做 ssh key 就已經生成好了!
總共會生成兩個 key,private and public key,接下來會帶大家如何找到這兩個 key。
2. 取得 public ssh key
接著我們要進到剛剛放置 key 的位置,因此我們照著以下流程,把 public 的 key 拿出(副檔名為 .pub
),要特別注意 GitHub 只需要 public 的 key,private 要自己留好!千萬不要給任何人!
1 | $ cd .ssh |
接下來就把 cat id_rsa.pub
的內容複製下來,我們就可以回 GitHub 做最後一步設定了!
3. 把 public key 設定到 GitHub
接下來我們要把 public key 設定到 GitHub,這樣 GitHub 才能辨識你的電腦,讓你可以透過 ssh 連線到 GitHub,這樣就可以真的達到不用每次 push 都要輸入帳號密碼了!接下來將用截圖畫面的方式展示步驟!
3-A. 前往 GitHub 設定
3-B. 點擊 “SSH and GPG keys”
3-C. 進入 “SSH and GPG keys” 頁面後點擊 “New SSH key”
3-D. 貼上 public key 最後送出
照著上述步驟就一切沒問題了,以後把專案 clone 到本地就選擇 ssh 的方式就搞定啦!
如果原先專案是走 http
的方式 clone
下來的話只要做以下更改就可以換成 ssh
啦!
1 | $ git remote set-url origin <your_project_ssh_url> |
如此以後專案 push 到 GitHub 就都會走 ssh 了也不需要每次都輸入帳號密碼了!最後祝大家以後都開發順利!可以開始進行更多遠端的 Git 操作了!