Каждый раз вытягивать из github без аутентификации

Есть ли способ создать сертификат или такой, чтобы мой prod-сервер мог вытащить из моего репозитория 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. Пожалуйста, проверьте это