每次都从github拉取而不进行身份验证

每次都从github拉取而不进行身份验证,git,authentication,github,certificate,Git,Authentication,Github,Certificate,有没有一种方法可以生成证书或类似的证书,这样我的prod服务器就可以从我的github repo中提取,而无需每次进行身份验证?我认为这可以通过使用凭据缓存和.netrc文件来实现。 这就是我们的目的 这篇帮助文章解释了GitHub支持什么样的部署身份验证方法,并提供了一些指针来帮助决定它们之间的关系 根据我有限的经验,部署SSH密钥可能是最简单的设置。您可以将其用作用户名(无密码) 获得访问令牌后,请克隆存储库: git clone https://<your-access-token&

有没有一种方法可以生成证书或类似的证书,这样我的prod服务器就可以从我的github repo中提取,而无需每次进行身份验证?

我认为这可以通过使用凭据缓存和.netrc文件来实现。 这就是我们的目的

这篇帮助文章解释了GitHub支持什么样的部署身份验证方法,并提供了一些指针来帮助决定它们之间的关系

根据我有限的经验,部署SSH密钥可能是最简单的设置。

您可以将其用作用户名(无密码)

获得访问令牌后,请克隆存储库:

git clone https://<your-access-token>@github.com/username/repo.git
如果要删除服务器对存储库的访问权限,只需删除存储库中的访问令牌


我还更喜欢在部署环境中使用https而不是ssh。有时我们没有足够的访问权限来处理ssh,但即使在更便宜的托管服务上也可以使用https访问github

生成ssh密钥

cd ~/.ssh 
ssh-keygen -t rsa -C "your-email-address"
touch config
粘贴到配置中

 Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/YOUR_KEY
将公钥粘贴到github部署密钥设置

cat YOUR_KEY.pub
将远程http设置为ssh

git remote set-url origin ssh://git@github.com/USERNAME/REPOSITORY.git

这应该是公认的答案。这一功能更加强大,可以用于部署系统。如果您的用户名与repos不同,我认为这必须是
git clone https://:@github.com/username/repo.git
。我也可以在私有存储库上使用
git clone https://@github.com/username/repo.git
。看起来用户不是必需的。我这边缺少的部分是
set-url-origin-ssh
。谢谢
git remote set-url origin ssh://git@github.com/USERNAME/REPOSITORY.git