SSH Keys for GitHub
總結
GitHub Docs About SSH: With SSH keys, you can connect to GitHub without supplying your username and personal access token at each visit.
使用 SSH key 可以在不輸入 username 與密碼的情況下操作 GitHub/GitLab 的 repo 本篇筆記乃為記錄在 Mac 產生 SSH key 的流程
步驟
-
開啟 terminal 後,輸入
ssh-keygen -t ed25519 -C "your@email.here"
ed25519
是產生 SSH key 的演算法- 若不需要搭配 email 產生 key 則
-C "your@email.here"
此 flag 與 email 一起移除
-
出現
"Enter a file in which to save the key,”
訊息後,可直接按下 Enter 使用預設的檔案名稱保存 SSH key 或輸入自訂的檔案名稱來進行儲存 -
secure passphrase
可選擇略過不輸入 -
cd ~/.ssh
後ls
查看資料夾內容,應會有一組檔案id_ed25519
與id_ed25519.pub
以及config
,若沒有config
則輸入touch ~/.ssh/config
建立一個id_ed25519
的內容是私鑰,而.pub
檔案裡面保存的則是公鑰- Pro Git book: The
.pub
file is your public key, and the other file is the corresponding private key.
-
在 terminal 輸入
open ~/.ssh/config
後,於檔案內貼入以下內容,注意最後一行的IdentityFile
檔案名稱(id_ed25519
)要與前面步驟建立的 SSH key 檔案名稱一致Host * AddKeysToAgent yes IdentityFile ~/.ssh/id_ed25519
-
於 terminal 輸入
cat ~/.ssh/id_ed25519.pub
檢視公鑰內容並將 SSH key 複製起來,或也可輸入pbcopy < ~/.ssh/id_ed25519.pub
直接複製 SSH key 內容;注意「id_ed25519.pub
」要與前面步驟建立的 SSH key 檔案名稱一致 -
把 SSH key 貼到 GitHub/GitLab SSH Key 中,並注意之後需使用 GitHub/GitLab 的 SSH url 來 clone 或是 push 等指令(而非使用 HTTPS url)