Github 使用 Deploy Key 存取 repo
打算將私有 repo 提供唯讀權限給特定對象, 但 Github 的 personal access token 並不提供這樣針對特定 repo 的唯讀權限設定, 後來發現似乎可以使用 repo 內的 Deploy Key 來達成.
建立 ssh key
設定 Github Deploy Key
檢查 git ssh key
- 確認剛剛產生的 key 是否在預設路徑 Exp. /home/mytest/.ssh/id_rsa
ssh -T [email protected]
- 如果有多個 deploy key 採用不同檔名存放 Exp. /home/mytest/deploy-key/abc1_id_rsa /home/mytest/deploy-key/abc1_id_rsa.pub
- 可以在 ssh 後面加上 -i /home/mytest/deploy-key/abc1_id_rsa 的參數指定使用哪個 deploy key
ssh -T -i /home/mytest/deploy-key/abc1_id_rsa [email protected]
執行 git clone
- Exp.
git clone [email protected]:iii-org/devops-ui.git
- 如果是多個 Deploy Key 的設定方式, 必須編輯 ~/.ssh/config 來指定哪個 github repo 用哪個 deploy key Exp.
Host devops-ui github.com Hostname github.com IdentityFile /home/mytest/github-key/iiiorg-devops-ui_id_rsa User iii-org Host repo-b-shortname github.com Hostname github.com IdentityFile /home/mytest/github-key/repo-b_id_rsa #User username-on-remote-machine