使用 GitHub 不能再打密碼驗證啦!
自從 2021 年 8 月13 號,GitHub就不再支援使用密碼進行驗證了。你很有可能在 Push 你的程式碼到 GitHub 上面時有發現這件事情,而且感到很挫折,直到我使用SSH進行驗證後,發現比起每次打密碼,SSH 驗證實在是方便太多了。
使用 SSH 與 GitHub 進行連線
使用 SSH 後,我發現有以下好幾個優點:
- 完全不再需要打密碼
- SSH 設定只需要跟著下面的步驟操作一次
- 之後完全就感覺不到你在使用SSH
設定 SSH: 步驟
使用 SSH 最重要的概念就是 Private Key 和 Public Key,每次與GitHub進行驗證的時候,我們都需要進行 Key-pair 的比對,只有你擁有Private Key。
還好,進行比對這件事情程式會完全自動化幫你作,妳玩全部需要做任何的事情,因此認證變得全自動化,你連密碼都不需要輸入。所以使用SSH進行驗證有種無事一身輕的感覺
第一步:產生鑰匙 Key pair
Key pair 分為 Private Key 和 Public Key,一個大原則是:
產生 Key-pair 使用以下指令
$ ssh-keygen
可以看到在 .ssh/下產生了 id_rsa 和 id_rsa.pub 檔,我們會操作到的是 .pub 這個檔案,pub 代表 public,是可以放到 GitHub 上面的。檔案裡面可能長這樣:
接下來要把 id_rsa.pub 檔裡面的內容複製貼上到 GitHub 上。
第二步:將公鑰 Public Key 複製貼上到 GitHub
GitHub >> Setting >> SSH keys and GPG keys >> New SSH key (右上角綠色的按鈕)
Title 可以隨便取,如果你有很多不同電腦都會使用的 GitHub 就需要有很多組 Key,你可以把 Title 設成電腦的代號,例如 Computer1。
儲存之後就大功告成了!
第三步:使用 SSH 來操作你的 Repo
之後要使用你的 private repo 或其他需要驗證身份的時候,請使用 SSH,完全不用輸入密碼!非常方便。像是下圖在 Clone 一個 repo,使用 “SSH” 提供的網址,之後的操作就會只自動使用 SSH 來驗證身份。
$ git clone git@github.com:grandma-tutorial/OpenMP-tutorial.git
我在ssh_keygen的時候有發現passphrase 可以打也可以不打