Я нашел подход, который достигает того, чего я пытался достичь.
Github предлагает возможность создавать ключи развертывания , которые могут предоставлять -SSH-доступ к репозиторию только для чтения.
Я создал новый ключ SSH без парольной фразы, добавил его как ключ развертывания -только для чтения в свое хранилище и теперь могу автоматически извлекать изменения из хранилища с помощью сценария, запускаемого из службы systemd при загрузке.
Стоит отметить, что ключи SSH без парольной фразы гораздо менее безопасны, чем защищенные парольной фразой, но это компромисс, на который я готов пойти, поскольку ключ предоставляет доступ только -только для чтения.
Может появиться запрос на принятие ключа хоста удаленного сервера -. Можете ли вы сначала запустить его напрямую, чтобы убедиться, что запись находится в known_hosts
? Также подтвердите правильность User
в разделе [Service]
.
Host key verification failed.
Обычно это означает, что идентификатор сервера на другой стороне изменил идентификатор или вы не добавили ключ хоста в свой ~/.ssh/known_hosts
файл.
Попробуйте выполнить извлечение из того же репозитория, что и пользователь, запустивший этот скрипт. Или вы можете попытаться удалить старый ключ хоста с помощью ssh-keygen -R [hostname/ip]
.
Если вы используете ключи ssh -для аутентификации, убедитесь также, что ключ ssh находится в папке ~/.ssh/
пользователя, запускающего этот скрипт.