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