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

Mat*_*der 12 git authentication certificate github

有没有办法生成证书或类似的东西,以便我的prod服务器可以从我的github仓库拉出来,而不是我每次都进行身份验证?

EHE*_*HER 30

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

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

git clone https://<your-access-token>@github.com/username/repo.git
Run Code Online (Sandbox Code Playgroud)

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

这是最简单的方法,但将存储的令牌纯文本的.git/config要提高安全性,您可以设置密码缓存和克隆像往常一样的https:

git clone https://github.com/username/repo.git
Run Code Online (Sandbox Code Playgroud)

如果你想删除到存储服务器的访问,只是删除访问令牌在你的应用程序设置.

我也更喜欢在部署环境中使用https而不是ssh.有些时候,我们没有足够的访问权限来处理与SSH,HTTPS,但进入github上可以甚至更便宜的托管服务.


Nev*_*nel 11

这就是Deploy Keys的用途.

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

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


小智 6

生成ssh密钥

cd ~/.ssh 
ssh-keygen -t rsa -C "your-email-address"
touch config
Run Code Online (Sandbox Code Playgroud)

粘贴配置

 Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/YOUR_KEY
Run Code Online (Sandbox Code Playgroud)

将公钥粘贴到github部署密钥设置

cat YOUR_KEY.pub
Run Code Online (Sandbox Code Playgroud)

将远程从http设置为ssh

git remote set-url origin ssh://git@github.com/USERNAME/REPOSITORY.git
Run Code Online (Sandbox Code Playgroud)