Я пытаюсь установить ssh с сервера 1 на сервер 2 и сделать git pull
с сервера 1 на сервер 2.
Итак, на сервере 1 я запускаю следующую команду:
ssh root@server2 'cd /root/.example; git pull origin master'
но это дает мне эту ошибку:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
Он может использовать ssh, потому что когда я делаю ls (ssh root@server2 'cd /root/.example; ls
) Я вижу содержимое /root/.example
каталог. Просто не умеет git pull origin master
потому что он использует неправильный ключ.
Что я могу сделать иначе?
Я использую Centos 6.
Вам необходимо использовать ssh для пользователя, имеющего доступ к репозиторию git. Если вы используете ssh для получения root-прав, убедитесь, что root имеет хотя бы riead-права на репо (в случае, если вы используете какую-то умную версию git, такую как gitolite, gitlab и т. Д.).
Кстати, если вы пытаетесь выпустить с этим релиз, используйте git fetch && git reset --hard origin/master
вместо git pull. Git pull выполняет слияние, и это может закончиться конфликтами, git reset просто перемещает фактический указатель головы в другой коммит без слияния чего-либо.