目錄表

Github 使用 Deploy Key 存取 repo

打算將私有 repo 提供唯讀權限給特定對象, 但 Github 的 personal access token 並不提供這樣針對特定 repo 的唯讀權限設定, 後來發現似乎可以使用 repo 內的 Deploy Key 來達成.

建立 ssh key

設定 Github Deploy Key

檢查 git ssh key

  • 如果有多個 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

  • 如果是多個 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

參考網址