В настоящее время мне нужно выполнить следующую задачу: нашему CI-серверу требуется доступ ко второму репозиторию из GitHub с другим ключом SSH (Deploy / Checkout), нежели основной репозиторий проекта (ключи развертывания GitHub предназначены только для одного репо. Два репо.=> два ключа SSH для одного хоста. Таким образом, идея об использовании псевдонимов).Однако в настоящее время мы сталкиваемся с некоторыми проблемами, и я почти уверен, что мне не хватает детали.
Допустим, наш URL-адрес git-репо следующий:
git@gitub.com:myorg/somerepo.git
Мы изменили его на:
git@gitub-second-account:myorg/somerepo.git
Затем я настроил свой .ssh/config
для использования введенного псевдонима хоста github-second-account
и сопоставил его с github.com
:
# Default GitHub user
Host github.com
HostName github.com
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
# Second account alias
Host gitub-second-account
HostName github.com
IdentityFile ~/.ssh/second_id_rsa
Я протестировал настройки и запустилследующее:
ssh -T git@github-second-account
GitHub говорит, что все хорошо, и аутентификация прошла успешно.Отлично.(Проверено с помощью -vvv
, что используется правильный ключ SSH.) Но теперь я продолжаю и делаю следующее:
git clone git@gitub-second-account:myorg/somerepo.git
И получаю ошибку:
ssh: Could not resolve hostname gitub-second-account: nodename nor servname provided, or not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Да, есть предупреждение о правах доступа, и я дважды проверил, что назначенный ключ SSH действительно имеет разрешения (проверив на github.com и изменив мой .ssh/config
на использование этого ключа SSH), и репо пройдет гладко.У меня есть ноющее чувство, что git как-то не может разрешить псевдоним имени хоста.
Есть идеи, что происходит?Выполнение git clone --progress --verbose ...
к сожалению, не предоставило больше информации.