У меня есть два репозитория Gitlab, которыми владеют два разных пользователя. Давайте назовем их
- личный : git@gitlab.com: user1 / personal.git
- работа : git@gitlab.com: user2 / work.git
Я получил два ключа RSA: с помощью ключа 1 я обычно могу подключиться к личному репо; с key2 для работы репо.
Я должен толкать / тянуть с разных рабочих станций (Mac OS / Windows); на каждой машине я могу без проблем подключиться к первому или второму репо.
С одной рабочей станции 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.
Что я делаю не так?
Спасибо всем, кто может мне помочь.