透過設定 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