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

时间:2013-10-31 08:54:06

标签: git authentication github certificate

有没有办法生成证书等,以便我的prod服务器可以从我的github仓库中提取,而不是每次都进行身份验证?

4 个答案:

答案 0 :(得分:27)

您可以create an access token并将其用作用户名(无密码)。

让您的访问令牌克隆存储库:

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

然后你可以在没有每次验证的情况下拉动。

这是最简单的方法,但会将令牌纯文本存储到.git / config中为了提高安全性,您可以setup password caching并像往常一样克隆https:

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

如果您要删除服务器对存储库的访问权限,只需删除application settings中的访问令牌。

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

答案 1 :(得分:11)

这是Deploy Keys的用途。

该帮助文章解释了GitHub支持的部署身份验证方法,并提供了一些帮助确定它们之间的指示。

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

答案 2 :(得分:5)

生成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

答案 3 :(得分:2)

我认为这可以通过使用凭据缓存和使用.netrc文件来完成。 Please Check This