git pull over ssh дает странные ошибки
Это моя установка.
- Мой репозиторий git находится в bitbucket
- Я создал ключи на своем удаленном сервере AWS EC2 и сохранил его в
~/.ssh
папка - Затем я добавляю ключ через ssh-agent на моем удаленном сервере.
- Обновлены эти ключи на сайте 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
,