我有两个GitLab帐户 - 一个我个人的项目,一个用于工作 - 而它们都有产生SSH密钥和补充。 有一个id_rsa
的工作帐户(因为这是我第一次创建)和id_rsa_personal
为个人之一。 我的~/ssh/config
如下:
Host gitlab-personal
Preferredauthentications publickey
User personalusername
HostName gitlab.com
IdentityFile ~/.ssh/id_rsa_personal
Host gitlab-work
Preferredauthentications publickey
User workusername
HostName gitlab.com
IdentityFile ~/.ssh/id_rsa
然而,当我运行ssh -vvvT git@personalusername.gitlab.com
,我得到如下:
OpenSSH_7.6p1 Ubuntu-4, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/personalusername/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "personalusername.gitlab.com" port 22
ssh: Could not resolve hostname personalusername.gitlab.com: Name or service not known
第四行( Applying options for *
)似乎表明, ssh
已经我的两个配置设置忽略,拿起默认值,这是使用id_rsa
。 因为这是我的工作帐户,我无法克隆我的个人资料库,从而导致出现以下错误:
git clone git@gitlab.com:personalusername/personalproject.git personalprojecttest
Cloning into 'personalprojecttest'...
GitLab: The project you were looking for could not be found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
有一个答案(类似的问题gitlab有两个SSH密钥无法连接(配置更新) ),但关于Git的配置指定的用户名会谈。 我的问题是,我没有或者希望全球混帐配置为我做的对个人和工作的工作在同一台机器上。 我希望有一个本地的Git配置(在./.git/config),然而,此文件夹不存在,所以我没有本地的Git配置。
我运行Ubuntu 18.04。