使用 GitHub 部署密钥部署代码

发布于 25 天前  46 次阅读


当配置了部署密钥,代码托管服务将允许您通过 SSH 协议以只读的方式克隆仓库,主要在仓库部署、持续集成等场景中使用
部署密钥其实就是 SSH 密钥的公钥,但仓库的部署密钥和 SSH 密钥不能配置成一个,如果配置成同一个那么会有安全问题。

生成 SSH 密钥

首先查看自己的本地是否已经有密钥 ls -al ~/.ssh/ 记住文件名称。
然后运行 ssh-keygen -t rsa -b 4096 -C "github" 来生成一个密钥。

ssh-keygen -t rsa -b 4096 -C "github"
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):

在提示到选择自己的密钥名称的时候,请选择一个和自己之前的文件名称不同的文件名(如果您本地路径下已经有密钥,会询问您是否将其覆盖,输入 n 即选择不覆盖,会退出本次密钥生成操作,输入 y 继续生成密钥),你可以选择将文件名改为 id_rsa_github。

将密钥上传至 GitHub

在 GitHub 上选择自己想部署的仓库,选择 Settings>Deploy keys>Add deploy key 创建一个喜欢的名字并把你的公钥粘贴进去,GitHub 会自己检查公钥的合法性。

配置服务器使用部署密钥

创建一个名称为 config 的配置文件,权限是 600,用户是 root。
将以下代码粘贴进配置文件中:

Host github.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa_github