windows - 无法使用多个密钥连接到 Gitlab 存储库
问题描述
我有两个 Gitlab 存储库,由两个不同的用户拥有。让我们称呼他们
- 个人:git@gitlab.com:user1/personal.git
- 工作:git@gitlab.com:user2/work.git
我有两个 RSA 密钥:使用 key1 我通常可以连接到个人仓库;与 key2 一起工作回购。我必须从不同的工作站(Mac OS / Windows)推/拉;在每台机器上,我都可以毫无问题地连接到第一个或第二个 repo。
我需要从单个 Windows 10 工作站连接到两个存储库,然后开始麻烦。在那个工作站上,我使用 Git Bash。
根据不同的指南(例如https://coderwall.com/p/7smjkq/multiple-ssh-keys-for-different-accounts-on-github-or-gitlab),我设置了一个~/.ssh/config
文件:
Host gitlab-personal
HostName gitlab.com
User git
LogLevel DEBUG3
PreferredAuthentications publickey
IdentityFile ~/.ssh/personal
#IdentitiesOnly yes
Host gitlab-work
HostName gitlab.com
User git
LogLevel DEBUG3
PreferredAuthentications publickey
IdentityFile ~/.ssh/work
#IdentitiesOnly yes
如果我跑步,
ssh -Tv git@gitlab-personal
我得到:
...
Welcome to Gitlab, User1!
...
如果我跑步,
ssh -Tv git@gitlab-work
我得到:
...
Welcome to Gitlab, User2!
...
这让我认为 RSA 密钥设置正确(即使在 Putty / Pageant 中)。
但是,如果我尝试克隆存储库,例如
git clone git@gitlab-personal:user1/personal.git
或者
git clone git@gitlab-work:user2/work.git
..在这两种情况下,我都得到了这样的回应:
Unable to open connection:
Host does not existfatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我究竟做错了什么?
感谢任何可以帮助我的人。
解决方案
推荐阅读
- reactjs - React JS - 从渲染表中的行获取数据以编辑数据
- marklogic - 通过 curl PUT 插入时,MarkLogic 在 .xqy 文件中丢失了我的换行符
- swift - CALayer 隐藏 UIView 上方的 UILabel
- payment-request-api - Tez 付款请求 API
- vmware-clarity - vmware 清晰数据网格是否可以选择使用树数据?
- regex - ip 后删除 sed
- java - 使用 java Swing 显示 PopMenu
- ajax - 如何在codeigniter中使用ajax从控制器获取数据以查看
- angular - Angular - 在ng-template中单击提交按钮时不会触发表单提交
- javascript - 使用jQuery选择表中的所有第二个单元格值进行数组