Можно ли отразить частный репозиторий на gitlab.com по протоколу SSH?

Gitlab.com имеет возможность зеркалировать другие репозитории на их собственном сайте. (Проект -> Настройка проекта -> Зеркальное хранилище)

Но когда я попытался сделать это с использованием протокола ssh, авторизация не удалась, потому что репозиторий, который я хотел клонировать, не распознал открытый ключ Gitlab.com.

На странице говорилось:

Если ваш репозиторий SSH не является общедоступным, добавьте открытый ключ SSH сервера GitLab в удаленный репозиторий.

Дело в том, что мне не удалось найти возможность добавить закрытый ключ на Gitlab.com или загрузить открытый ключ с Gitlab.com.

Возможно ли это, только если у вас есть сервер GitLab или я что-то упустил?

См. также:  Храните секреты API в секрете с помощью Gitlab CI и Webpack
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 3
  1. Lena

    Не уверен, что это сработает, но я считаю, что попробовать стоит. Чтобы получить открытый ключ gitlab.com, я выполнил следующую команду:

    nmap gitlab.com --script ssh-hostkey --script-args ssh_hostkey=all
    

    Затем в выводе можно найти следующие 3 открытых ключа:

    ssh-dss AAAAB3NzaC1kc3MAAACBAMPKInNPflcRle9F5Qt2j9aI0EZuWQzdXTbYvsl+ChaacqCOWRMiOmXHXqetFz6jD/6Fcqg20ZATxqSskQBaRn97O/mbH+GQk4d3zw9WAEURicE8rKJop3qGtdfFxLzrTuPAkKRDMmutT3hwZIOO8CFWOl1BiuUYTncJTeonrfAAAAFQCujauoy3Yy+ul72b/WsTECUPj9yQAAAIBIV2yyF7RZf7IYS8tsWcKP7Y5Bv9eFdbvbtsaxcFCHcmHIGoJQrIdPoueoOb5EUTYz0NgYKsKaZzDZkgFk28GsmLxKvhnPjaw0lJVSKRchEE5xVlamOlabiRMjQ7X/bAdejkBJe96AjZZL3UO4acpwfy3Tnnap0w6YCDeaxoyHpwAAAIAU+dyNaL3Hy15VIV32QwWMekvxeptUY/W03LNcgZZDoin87TE9xuQhM0qF3pi2i2a2ExuslgdttmYWvrbEz8eW+RFgvT5pKwWpalKWetHvtN3oYZP37ZIO1Y3Hd5A4YVcpYp1ccRayveLlCRwxb4HdGXT2OmYU+lmvimIR8zQ6A==
    
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
    
    _ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
    

    Добавление их на ваш сервер репозитория может позволить ему правильно аутентифицировать соединение.

    Я протестировал его (добавил ключ RSA), но это не сработало. person Lena; 13.12.2015

  2. Lena

    Функция зеркалирования Gitlab — это реализовано недавно, ноябрь 2015 г., но, к сожалению, доступно только для Gitlab Enterprise Edition:

    Зеркальное отображение репозитория (только EE) Если вы хотите поддерживать зеркало репозитория в экземпляре GitLab, теперь вы можете позволить GitLab автоматически обрабатывать зеркалирование в GitLab Enterprise Edition.

    Проверьте сравнение функций между версиями Community и Enterprise. Вы запрашиваете EE или используете gitlab-mirrors скрипты:

    Проект gitlab-mirrors разработан, чтобы заполнить функцию, которая в настоящее время отсутствует в GitLab: возможность зеркалирования удаленных репозиториев. gitlab-mirrors создает копии удаленных репозиториев только для чтения в gitlab. Он предоставляет интерфейс управления CLI для управления зеркальными репозиториями (например, добавление, удаление, обновление), так что администратор может регулярно обновлять все зеркала с помощью crontab. Он работает, взаимодействуя с GitLab API с помощью python-gitlab3. Также ознакомьтесь с этим классным модулем марионеток для установки и настройки gitlab-mirrors.

    Я знаю, что в версии для сообщества нет автоматического зеркалирования. Gitlab.com работает, однако Enterprise Edition. Источник person Lena; 17.12.2015

    @Tijmen какие ошибки вам показывает? Я пробовал, чтобы https работал, ssh с github сказал, что github не решен person Lena; 17.12.2015

    Ошибка: репозиторий не удалось обновить день назад. conq: доступ к репозиторию запрещен. ключ развертывания не связан с запрошенным репозиторием. фатальный: не удалось прочитать из удаленного репозитория. Убедитесь, что у вас есть правильные права доступа и репозиторий существует. person Lena; 17.12.2015

    @Tijmen Вы должны добавить ключ развертывания в свое репо. Для gitlab это в settings = ›deploy keys. для Github проверьте developer.github.com/guides/managing- deploy-keys / # deploy-keys …. с какого сервера вы зеркалируете? person Lena; 17.12.2015

    Я задаю вопрос: каков ключ развертывания Gitlab.com? Общедоступный сайт репозитория git, альтернатива bitbucket.org. person Lena; 17.12.2015

    Я копирую с bitbucket.org. Я знаю, как добавить к нему ключи развертывания. person Lena; 17.12.2015

    ключ развертывания — это ключ ssh, который вы должны добавить в свое репо, чтобы предоставить доступ person Lena; 17.12.2015

    добавьте открытый ключ gitlab в качестве ключа развертывания в свой проект bitbucket person Lena; 17.12.2015

    Я знаю, что такое ключ развертывания. Я не знаю ключ развертывания gitlab.com. Вот почему я задал этот вопрос person Lena; 17.12.2015

    Позвольте нам продолжить это обсуждение в чате. person Lena; 17.12.2015

  3. Lena

    Согласно этому комментарию, ключ находится в /var/opt/gitlab/.ssh/id_rsa и /var/opt/gitlab/.ssh/id_rsa.pub by дефолт. Если ключи не существуют, вы можете создать их вручную, используя sudo -u git -H ssh-keygen и нажимая клавишу ввода через подсказки.

    Я просто попробовал это при установке gitlab-ee 8.7.2, и, похоже, он работает.

    Что, к сожалению, имеет значение только в том случае, если вы используете собственную установку gitlab-ee. person Lena; 04.05.2016

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: