透過設定 Deploy keys (SSH Key) 可以避免掉每次 push 都要輸入帳密的流程
設定的步驟如下:
啟用本地 Cli 命令列視窗
建立 ssh keygen
這裡面要使用 github 所使用的 email
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
在回應內容,我們都不設定任何密碼,直接按 enter 或 y
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/使用者名稱/.ssh/id_rsa):
/Users/使用者名稱/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/使用者名稱/.ssh/id_rsa.
Your public key has been saved in /Users/使用者名稱/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3Cor2z.............d3h31 your_email@example.com
The key's randomart image is:
+---[RSA 4096]----+
|=.. .o |
|...
|+X+*.. |
+----[SHA256]-----+
li
將 SSH Key 加到 ssh-agent
eval "$(ssh-agent -s)"
將 SSH Private Key 加到 ssh-agent
如果是 MacOs 請執行:
ssh-add -K ~/.ssh/id_rsa
若是 Linux 請執行:
ssh-add ~/.ssh/id_rsa
複製 SSH Key
pbcopy < ~/.ssh/id_rsa.pub
pbcopy 是 macOs 指令,在 linux 則請直接用編輯器打開內容及複製
vim ~/.ssh/id_rsa.pub
前往 Github Deploy Key 區
前往 Repository 進入專案後,點擊 settings
點選左區選單 Deploy Key ,接著按右邊上角的 Add deploy key
貼上剛剛複製的 SSH Key 以及輸入標題,儲存
如果還是跳出帳號密碼
如果經過上面設定,在 push 過程仍須要輸入帳號密碼
則試著更改本地 remote 的來源,必須為 SSH
git remote set-url origin git@github.com:yourgithubID/yourRepo.git