ssh-agent выдает при запуске на героку - PullRequest
0 голосов
/ 01 января 2019

У меня есть приложение Rails, использующее docker, которое выполняет некоторые автоматические изменения в другом приложении, а затем git отправляет изменения в GitHub.Мне потребовалось немного времени, чтобы я смог перенести мои ssh-ключи в докер-контейнер в своего рода усадьбе (не доволен им полностью, но поменяю его после того, как я разберусь с этим).Теперь моя проблема заключается в том, что при запуске git-клонов в Dockerfile все это хорошо, но потом из моего кода rails не получается сказать, что у меня нет доступа, поэтому в коде я иду, чтобы повторно ssh-добавить ключи,Однако затем говорится, что Could not open a connection to your authentication agent., поэтому я пытаюсь повторно инициализировать ssh-agent (echo $(ssh-agent -s)), который, похоже, успешно выполняется, но все равно не работает при ssh-add.

Если я запускаю SSH и пытаюсь выполнить эти шаги, он работает нормально, но если я включаю консоль и запускаю функции, выполняющие эти консольные вызовы, это приводит к сбою с той же проблемой.Тогда кажется, что вызов ssh-agent для установки переменных env не устанавливается.У меня есть ощущение, что контейнеры heroku не позволяют изменять переменные env без прохождения через них heroku config:set, но это невозможно, поскольку каждый процесс будет иметь разные SSH_AUTH_SOCK и SSH_AGENT_PID.Любые предложения о том, как справиться с этим, будут огромной помощью.

Ответы [ 2 ]

0 голосов
/ 01 января 2019

В вашей текущей настройке вам необходимо оценить риск / стоимость использования секретной фразы , защищенной парольной фразой.

Как упомянуто здесь , для автоматизированного процесса рекомендуется использовать ключ без пароля, при условии, что вы уверены, что нет простого способа доступа к указанному секретному ключу.

0 голосов
/ 01 января 2019

Эта ошибка обычно возникает, когда у вас не запущен активный агент SSH.

Could not open a connection to your authentication agent.

Это довольно часто встречается в системах на основе Debian, тогда как в большинстве Ubuntu один работает вообще.раз.

Чтобы это исправить, вам просто нужно запустить новый агент.

eval $(ssh-agent)

Это должно быть выполнено до ssh-add.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...