git pull over ssh дает странные ошибки

Это моя установка.

  1. Мой репозиторий git находится в bitbucket
  2. Я создал ключи на своем удаленном сервере AWS EC2 и сохранил его в ~/.ssh папка
  3. Затем я добавляю ключ через ssh-agent на моем удаленном сервере.
  4. Обновлены эти ключи на сайте bitbucket.

Когда я захожу на удаленный сервер и запускаю git pull на моем репозитории git все работает отлично. Здесь нет проблем.

Но когда я запускаю то же самое через Cygwin Bash на Windows, это дает мне эту ошибку:

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Я делаю следующее на моей машине Windows

ssh -i xyz.pem user@ip -t 'sudo sh deploy.sh'

Где deploy.sh, CD в мой репозиторий и делает git pull,

Почему эта проблема происходит? Должен ли я также сохранить эти ключи SSH на моем компьютере с Windows? Любая помощь будет неоценима.

1 ответ

Решение

Запустив sh с sudoвы эффективно используете рут .ssh учетные данные для доступа к репо. Они не совпадают с ключом, который вы сгенерировали и добавили в bitbucket.

Интересно, зачем тебе sudo во-первых, является ли репозиторий доступным для записи только пользователю root? Одним из вариантов может быть добавление ключа root ssh в bitbucket или отказ от использования sudo,

Другие вопросы по тегам