通过 SSH 密钥只读访问 GitHub 存储库

jib*_*ibe 40 ssh github ssh-keys

我想生成一个只有READ权限的 SSH 密钥,可以与我的 GitHub 帐户一起使用吗?还是应该创建另一个只有读取权限的帐户?

C0d*_*lus 46

部署密钥以进行救援

部署密钥是一个SSH 密钥,它:

  • 存储在您的服务器上并授予对单个 GitHub 存储库的访问权限。
  • 通常用于在部署或持续集成运行期间克隆存储库。
  • 部署有时涉及合并分支和推送代码,因此部署密钥始终允许读写访问
  • 但是因为在许多情况下写访问是不可取的,所以您可以创建具有只读访问权限的部署密钥。
  • 默认情况下,通过 GitHub.com 创建的新部署密钥将是只读的,并且可以通过Allow write access在创建过程中进行选择来授予写入权限。

创建只读部署密钥

  1. 转到Settings要授予只读权限的存储库内的选项卡。
  2. 在左侧导航栏选择 Deploy Keys

Github 部署密钥

  1. 单击 Add Deploy Key
  2. 给它一个你想要的标题并添加 ssh 密钥。
  3. 确保Allow write access未选中该框。
  4. 你完成了 !

要了解有关 Deploy 密钥的更多信息,请阅读Github Developer。还可以参考Github 上 zhujunsan 的这个漂亮的要点

随意添加更多详细信息。

  • 要添加多个存储库,请为每个存储库生成一个 SSH 密钥,并将配置添加到 SSH 配置文件,如 https://medium.com/@dustinfarris/managing-multiple-github-deploy-keys-on-a-single 上所述-服务器-f81f8f23e473 (2认同)

Sla*_*zev 15

Github 组织可以“某种程度上”支持这种工作流程:

  • 创建一个组织
  • 创建一个虚拟帐户,用于只读访问
  • 将虚拟帐户添加到具有只读权限的组织
  • 在只读帐户上添加您想要的任何 SSH 密钥
  • 使用您的普通帐户允许写作

  • 与接受的答案不同,这个答案使您可以读取组织中的所有存储库。 (6认同)