Как передать приватный ключ ssh через переменную в докер образ?

Запускаю CI/CD через гитхаб. В github-workflow.yml отправляю приватный ключ через переменную
build-args: |
  ID_RSA=${{ secrets.ID_RSA }}

в докер файле добавляю его в образ
ARG ID_RSA
RUN mkdir -p /root/.ssh
RUN echo "$ID_RSA" > /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts

RUN npm install

и когда скачивается пакет в package.json то приходит отказ в доступе к приватному репозиторию.

Попробовала физически добавить файл id_rsa в каталог и потом его просто скопировать в образ
COPY id_rsa /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts

в таком варианте работает.

В чем проблема при передачи через переменную? Пробовала передавать ключ в base64, эффект тот же - отказано в доступе
  • Вопрос задан
  • 494 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы