git не позволяет подтянуть изменения с сервера

Рейтинг: 1Ответов: 1Опубликовано: 17.04.2015

Добрый день. На выделенном сервере в папке с клонированным репозиторием, после доработок на лольной копии и синхронизации репозитория выполнил команду

git pull

мне выдало такую ошибку:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

Читал тут про ошибку https://help.github.com/articles/error-permission-denied-publickey/ толком ничего не понял, но по советам из статьи попытался проверить соединение с github

ssh -T git@github.com

тоже

Permission denied (publickey).

и проверить наличие ключа

ssh-add -l

в ответ

Could not open a connection to your authentication agent.

Причём, клон этого же репозитория в другой папке (продакшн, к боевому домену привязан), прекрасно работает на любой ветке, при команде git pull запрашивает логин и пароль и выполняет обновление ветки.

Я недавно работаю с git и с консолью тоже и не совсем понимаю чем вообще вызвана проблема. Ему не нравиться ключь, но разве он храниться не в одном месте, т.е. если бы ключ был не рабочий, то не работали бы оба клона (dev и prod) а тут "боевой" рабоатает а "разработка" отказывается. =(

Вопрос: Что делать? Как побороть ошибку Permission denied (publickey). ?

Ответы

▲ 3Принят

Вашему серверу нужен доступ к репозиторию только на чтение или на чтение и запись? Если первое, то можно использовать доступ по https, а не по ssh.

Я недавно работаю с git и с консолью тоже и не совсем понимаю чем вообще вызвана проблема. Ему не нравиться ключь, но разве он храниться не в одном месте, т.е. если бы ключ был не рабочий, то не работали бы оба клона (dev и prod) а тут "боевой" рабоатает а "разработка" отказывается. =(

Ключ не может храниться "в одном месте" - хотя бы потому что у вас два компьютера, насколько я понял. Или dev - это копия на том же самом выделенном сервере? Если у вас и правда два разных компьютера, то вам надо или скопировать свой ключ на сервер, или настроить агента для использования сервером вашего локального ключа - или же сгенерировать для сервера отдельный ключ, как и посоветовал Etki. Рекомендую последний вариант - такой ключ проще отозвать в случае чего.