У меня есть репозиторий, подключенный к Codeship, который запускает тесты, а затем, наконец, запускает скрипт на моем сервере через SSH:
ssh [email protected] '/var/www/deploy-script.sh'
На моем сервере у меня настроен пользователь deploy
. У меня есть открытый ключ этого пользователя, хранящийся в моей учетной записи github. У меня также есть открытый ключ codeship для моего проекта, хранящийся в ~/.ssh/authorized_keys
.
Внутри deploy-script.sh
я перехожу к каталогу репо, а затем пробую git pull
. Очевидно, мне нужно, чтобы последний код был извлечен без пароля, поскольку он выполняется на виртуальной машине на codeship. Codeship, по-видимому, может подключиться к моему серверу по SSH и запустить сценарий развертывания, однако в журнале сообщается:
> Pull updates from Github.
Permission denied (publickey).
fatal: Could not read from remote repository.
Если я войду на свой сервер как пользователь deploy
и запущу скрипт нормально, git pull
будет работать правильно.
Что мне не хватает? Почему github не разрешает доступ, когда он входит в систему как пользователь развертывания, а не я?