Git SSH密钥:在github和gitlab上有两个不同的帐户。
问题的出现原因是用户在使用Git SSH Key时遇到了一个问题:他们希望在GitHub和GitLab上使用不同的账户,但是无法成功进行身份验证。
解决方法是通过使用SSH而不是HTTPS来上传公共SSH密钥到服务器,并使用SSH URL。对于GitHub,URL应该类似于git.com:<username>/<repo>.git
。然后,用户可以尝试在~/.ssh/config
文件中设置不同的SSH密钥和用户名。在这个配置文件中,用户可以指定不同的主机、主机名、身份文件和用户名。其中IdentityFile
是私有SSH密钥的路径。
然而,当用户推送到存储库时,仍然会要求输入用户名和密码。这可能是因为用户使用的是HTTPS URL。解决方法是将URL更改为SSH URL。这样,用户将不再需要输入用户名和密码。
最后,用户表示在网络上寻找了很多解决方法,但只有这个答案是正确和有效的,他对此表示感谢。
通过以上整理,我们可以得出以下文章:
标题:Git SSH Key:在GitHub和GitLab上使用不同账户的解决方法
内容:
在使用Git SSH Key时,有用户遇到了一个问题:他们希望在GitHub和GitLab上使用不同的账户,但是无法成功进行身份验证。为了解决这个问题,用户可以尝试使用SSH而不是HTTPS来上传公共SSH密钥到服务器,并使用SSH URL。对于GitHub,URL应该类似于git.com:<username>/<repo>.git
。
另外,用户可以通过在~/.ssh/config
文件中设置不同的SSH密钥和用户名来实现使用不同SSH密钥或用户名的目的。在这个配置文件中,用户可以指定不同的主机、主机名、身份文件和用户名。其中IdentityFile
是私有SSH密钥的路径。
然而,当用户推送到存储库时,仍然会要求输入用户名和密码。这可能是因为用户使用的是HTTPS URL。为了解决这个问题,用户应将URL更改为SSH URL。这样,用户将不再需要输入用户名和密码。
最后,用户表示在网络上寻找了很多解决方法,但只有这个答案是正确和有效的,他对此表示感谢。
问题出现的原因是需要在GitHub和GitLab上使用不同的账户,但是由于使用SSH密钥进行身份验证时,只能配置一个密钥。解决方法是使用个人访问令牌(personal access tokens)来替代SSH密钥进行身份验证。
首先,在GitHub上登录到你的账户,进入设置页面,然后滚动到页面底部,你会看到一个名为“Personal Access Tokens”的链接,点击进入。
然后创建一个具有完整对仓库访问权限的令牌(如果只是想进行拉取和推送操作,其他API访问权限并不重要)。
令牌系统旨在允许API访问GitHub,但它也可以与HTTPS链接一起使用。
接下来,使用HTTPS方式克隆仓库(如果已经使用SSH方式克隆,只需复制HTTPS链接并替换.git/config
文件中的SSH链接)。然后编辑.git/config
文件,在HTTPS链接中添加访问令牌。
访问令牌的语法是标准的基本身份验证语法,与Web浏览器使用的相同:
https://: .com
我使用这种方法来允许我在GitHub上使用多个用户账户(工作账户、个人项目账户、志愿工作账户等)。