Есть ли способ создать сертификат или такой, чтобы мой prod-сервер мог вытащить из моего репозитория github без проверки подлинности каждый раз?
Каждый раз вытягивать из github без аутентификации
Ответ 1
Это то, для чего предназначены ключи развертывания.
В этой справочной статье объясняется, какие методы проверки подлинности развертывания поддерживает GitHub, и даются некоторые указатели, помогающие выбрать между ними.
По моему ограниченному опыту, SSH-ключи развертывания, вероятно, проще всего настроить.
Ответ 2
Вы можете создать токен доступа и использовать его как имя пользователя (без пароля).
Как только ваш токен доступа будет клонировать репозиторий:
git clone https://<your-access-token>@github.com/username/repo.git
Затем вы можете тянуть без аутентификации каждый раз.
Это самый простой способ, но сохранит токены в текстовый файл .git/config. Для повышения безопасности вы можете настроить кеширование кэша и клонировать как обычный https:
git clone https://github.com/username/repo.git
Если вы хотите удалить доступ к серверу в репозиторий, просто удалите токен доступа в настройках .
Я также предпочитаю использовать https, чем ssh в средах развертывания. Иногда у нас недостаточно прав доступа для работы с ssh, но https-доступ к github доступен даже при более дешевых хостинговых услугах.
Ответ 3
сгенерировать ключ ssh
cd ~/.ssh
ssh-keygen -t rsa -C "your-email-address"
touch config
вставить конфигурацию
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/YOUR_KEY
вставить открытый ключ в настройки ключа github
cat YOUR_KEY.pub
установить удаленный доступ с http на ssh
git remote set-url origin ssh://[email protected]/USERNAME/REPOSITORY.git
Ответ 4
Я думаю, что это можно сделать, используя кэширование учетных данных и использование файла .netrc. Пожалуйста, проверьте это