https://tsengbatty.medium.com/git-%E8%B8%A9%E5%9D%91%E7%B4%80%E9%8C%84-%E4%BA%8C-git-clone-with-ssh-keys-%E6%88%96-https-%E8%A8%AD%E5%AE%9A%E6%AD%A5%E9%A9%9F-bdb721bd7cf2
STEP 1.打開 Git Bash,設定你的 e-mail
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
// your_email@example.com 把這段替換成你自己的 e-mail
// 我是直接設定成自己 Github 的帳號,主要是方便記憶會跳出下面這條訊息:
> Generating public/private rsa key pair.
接著你可以指定 SSH keys 檔案要放的位置,如果不設定,Windows 預設的位置是:c/Users/...接著會詢問要不要設定通行密碼,再輸入一次後確認:
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

產生一組 SSH keys 之後,再到 Windows 預設的路徑查看,會看到如下方截圖的兩個檔案:
- id_rsa:
private key,這是給自己用的。 - id_rsa.pub:
public key,這是給外部系統用的,加到 Github 帳戶就是用這個。我自己的理解是:Github 是公開的網站服務,所以需要透過這種方式授權給 Github 存取自己電腦的權限。
STEP 2.接著授權 Github SSH keys 連線的權限
白話一點說,就是把 SSH keys 加到 Github 帳戶裡,之後你就可以用 Github 綁定的帳號,透過自己的電腦,用 SSH keys 連線方式 git clone 任何開源的專案原始碼。
- Github 點頭像-> Settings -> Personal settings -> SSH and GPG keys
- 再複製剛剛產生的 id_rsa.pub 檔案裡面的內容,全部貼到 key 的位置,title 可以隨便命名,只要自己看得懂就行。
這邊的操作,我原本是參考:官方文件,但後來碰到問題,所以乾脆就直接找 id_rsa.pub 檔案手動複製貼上。 - 會收到 Github 寄來的信件,通知有新的 public key 加到你的帳戶。
- 再回去 Github 頁面上就會看到剛剛加入的 SSH keys。
STEP 3.測試是否設定成功 & 設定 SSH agent
$ ssh -T git@github.com
// 因為是首次連線,而且無法確認 host 主機的真實性,只知道這個即將連結的遠端主機的 SSH key fingerprint,是否確定要連線?GitHub’s SSH key fingerprints:官方文件提供比對的 fingerprint。
可以跟 Git Bash 裡出現的「Github RSA key fingerprint is SHA256…」
比對確認與 Github 官方提供的一樣之後,再輸入 yes。
// 如果前面有設定通行密碼 passphrase,輸入即可。// 接著,就可以看到他跟你打招呼囉!
> Hi <your Github username>! You've successfully authenticated, but Github does not provide shell access.
如果出現:Permission denied (public key).則表示沒有設定成功。
接著要設定 SSH agent,用 SSH agent 管理登入驗證用的金鑰(passphrase),避免每次都要重複輸入。
$ eval $(ssh-agent -s)
// 開啟 SSH agent 的指令,成功的話會回傳 Agent pid 59566$ ssh-add ~/.ssh/id_rsa
// 把 key 加到 SSH agent 的指令操作到這裡,基本上就完成設定了。
後面這個指令,純粹是我好奇它的用途,所以一起列出來。$ ls -al ~/.ssh
// 檢查是否有現存的 SSH keys,有的話就不用重新產生啦!

没有评论:
发表评论