Отказ в разрешении Git внутри контейнера Docker - PullRequest
0 голосов
/ 22 мая 2018

Я использую сценарий оболочки как часть Jenkinsfile для запуска миграции базы данных.Сценарий оболочки пытается клонировать репозиторий после установки записи в файле known_hosts.Я делаю следующее:

    #!/bin/bash

    set -e

    # Workaround old docker images with incorrect $HOME
    # check https://github.com/docker/docker/issues/2968 for details
    if [ "${HOME}" = "/" ]
    then
      export HOME=$(getent passwd $(id -un) | cut -d: -f6)
    fi

    mkdir -p ~/.ssh

    echo '
    github.com ssh-rsa KEY
  ' >> ~/.ssh/known_hosts

    git clone git@github.com:Organization/migrations.git /tmp/database-migrations

   Execute Migration

Это дает мне ошибку, которая

Permission denied (publickey).
fatal: Could not read from remote repository.

Как можно решить эту проблему?

Кстати, когда я проверяю файл известных хостов, Я вижу запись была добавлена ​​в файл с IP-адресом 192 диапазон (локальный IP).Это создает проблему?

1 Ответ

0 голосов
/ 22 мая 2018

Не потому что файл known_hosts.Как я уже сказал, я думаю, что это ваш закрытый ключ.

Скопировал ли вы правильный закрытый ключ в свой контейнер?потому что я не видел его в вашем скрипте.

Вы можете проверить свой ключ, набрав:

ssh -T git@github.com

Я полагаю, вы увидите тот же результат.

И вы можете проверить эту ссылку Ошибка: разрешение отклонено (publickey) на github.

...