我正在尝试为多个git帐户创建多个SSH密钥。目前,我有一个Github
帐户和两个Gitlab
帐户,我找不到跨多个git平台的多帐户指南。你能帮我吗?
关键是:
id_rsa_github
git用户名是demetere
id_rsa_gitlab
git用户名是demetere
id_rsa_gitlab_identomat
git用户名是demetere._
我真的需要帮助代理和克隆和推权限。我为每个帐户生成了3个密钥,并将它们添加到帐户中,还添加到代理中。唯一剩下的是config
文件,以及在克隆repos和推送时是否需要做任何特定的事情。
另外,当我是其他用户仓库的贡献者时,我如何用正确的主机克隆它?谢谢
3条答案
按热度按时间anhgbhbe1#
其主要思想是使用~/.ssh/config为每个帐户分配一个“Host”条目:
这意味着,对于克隆,您需要使用“
Host
“条目:您还可以使用以下命令测试身份验证:
几个注意事项:
User
是 alwaysgit
,而不是你的GitHub或GitLab帐户用户名。对于公共存储库,这不太重要。
eh57zj3b2#
VonC已经回答了主要问题。通过在
~/.ssh/config
中将git origin设置为别名,您可以告诉每个存储库使用特定的键。您仍然需要在任何时候进行推送时将这些密钥加载到ssh-agent中。您可以使用这个bash脚本自动执行此操作。它加载以
id_rsa
开头的所有ssh键。有关设置和使用方法,请参见文件中的文档。注意,这个ssh-agent只在从CLI使用git时才起作用。您使用的任何IDE都有自己的方法来通过SSH进行身份验证。
dohp0rv53#
让我们举一个例子,你有两个gitlab仓库,一个用于个人帐户,一个用于工作,两个都有不同的帐户用户。
第一步:
为每个帐户生成ssh密钥:为您的密钥给予
第二步
更新配置文件
第三步
将这些密钥上传到gitlab中的相应帐户设置中
一旦你上传了公钥,你就可以测试
第四步
测试端子中的连接
第5步克隆需要给予主机名别名
如果gitlab clone ssh url是个人账号
那就改成
步骤6
您可以按照@demetere._的建议设置远程源,这样就不必每次都键入主机名
如果你创建了一个新的仓库,或者克隆了一个已经存在的仓库,你也可以给予一个主机名。
您可以将新的远程源测试为