每次从github拉取无需验证

问题描述 投票:0回答:5

有没有办法生成证书等,以便我的产品服务器可以从我的 github 存储库中提取数据,而无需我每次都进行身份验证?

git authentication github certificate
5个回答
42
投票

您可以创建访问令牌并将其用作用户名(无需密码)。

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

git clone https://<your-access-token>@github.com/username/repo.git

然后你就可以拉取而无需每次都进行身份验证。

这是最简单的方法,但会将令牌纯文本存储到 .git/config 为了提高安全性,您可以设置密码缓存并照常克隆 https:

git clone https://github.com/username/repo.git

如果您想删除服务器对存储库的访问权限,只需删除应用程序设置中的访问令牌即可。

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


15
投票

这就是部署密钥的用途。

该帮助文章解释了 GitHub 支持哪些部署身份验证方法,并提供了一些指导以帮助在这些方法之间做出选择。

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


15
投票

生成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://[email protected]/USERNAME/REPOSITORY.git

2
投票

我认为这可以通过使用凭据缓存和使用 .netrc 文件来完成。 请检查这个


0
投票

如果存储库已经就位,则不必克隆存储库,这很简单:

git remote set-url origin https://<githubToken>@github.com/<github user name>/<repository name>
© www.soinside.com 2019 - 2024. All rights reserved.