我想在每次使用git时都不输入我的用户名和密码,所以我的ssh配置是:
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile /root/.ssh/id_rsa_gitlab
IdentitiesOnly yes
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile /root/.ssh/id_rsa
IdentitiesOnly yes
我制作了2个不同的rsa密钥,向github和gitlab添加了pub键,但是它一直在问我登录和通过,请问有人可以帮助我吗?
导航到项目目录并键入git config --list
。
如果remote.origin.url
看起来像https://gitlab.com/gitlab-org/gitlab-ce.git
,你需要将其改为看起来像[email protected]:gitlab-org/gitlab-ce.git
的那个。这可以在GitLab上任何项目的主页上找到。
使用git-remote设置新URL。
git remote set-url origin [email protected]:gitlab-org/gitlab-ce.git
这个answer展示了这个过程的一个例子。
Git提供了两种减少重复的方法:
如果您没有可用于密码的安全存储,则第一个是简单且适当的。通常通过将其添加到您的配置来配置:
[credential "https://example.com"]
username = me
另一方面,凭证助手是外部程序,Git可以从中请求用户名和密码;它们通常与OS或其他程序提供的安全存储接口。
要使用帮助程序,必须先选择要使用的帮助程序。 Git目前包括以下帮助者:
缓存 - 在内存中缓存凭证一小段时间。 store - 将凭据无限期地存储在磁盘上。