(EDIT) Эта проблема также возникала на моем ноутбуке с использованием root и моего пользователя, который мог получить приветствие при попытке ssh с пользователем git. Затем попробовал доступную пьесу, и она тоже вызвала ошибки для репо. Пробовал еще один, и тот клонировал безупречно. Таким образом, проблема не в git, docker или ssh, а в конфигурации gitlab.
В Dockerfile я пытаюсь c создать отдельные частные репозитории, размещенные на сервере компании, на котором запущен gitlab, и настроить с нестандартным портом ssh .
Это то, что я ожидал запустить (вместе с некоторыми параметрами в файле конфигурации ssh).
RUN git clone git@companyname.ddns.net:GroupName/repo_name.git
То, что я уже проверил:
Пробовал с ssh-agent и вроде нормально (хотя я указываю файл в конфигурации, и он мне не нужен)
Идентификация добавлена: /opt/.ssh/id_rsa (/opt/.ssh/id_rsa)
~ / .ssh / config имеет следующее:
Хост *
StrictHostKeyChecking no {{1 }} PubkeyAcceptedKeyTypes + ssh-rsa
PasswordAuthentication no
User git
ForwardAgent yes
Identityfile / opt /.ssh / id_rsa # / opt - это дом пользователя Запуск команды в докере
порт 22022
Запуск из контейнера:
ssh -vT -i /opt/.ssh/id_rsa git@companyname.ddns.net:GroupName/repo_name.git
Получение результата
Добро пожаловать в GitLab , Аноним!
Но команда git clone получает:
Cloning into 'repo_name'...
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.
The command '/bin/sh -c git clone git@companyname.ddns.net:GroupName/repo_name.git;' returned a non-zero code: 128
Где находится ~ / .ssh / config
? Сборки Docker выполняются с правами root, поэтому конфигурация должна находиться в /root/.ssh/config