Как использовать SSH для входа в Github и создания нового репозитория в командной строке?

Aug 15 2020

Когда я создаю новый репозиторий Github с помощью команды curl, как показано ниже, он всегда просит меня ввести пароль.

curl -u "$(git config user.name)" https://api.github.com/user/repos -d "{\"name\":\"$1\"}" | grep -q "Bad credentials"

Вот мой вопрос. Как использовать SSH для входа в Github и создания нового репозитория с помощью связки ключей ssh ​​в командной строке?

Ответы

1 VonC Aug 16 2020 at 01:25

Имейте в виду, что настройки user.name/ user.emailconfig не имеют ничего общего с:

  • аутентификация (используются только для подтверждения авторства)
  • ваша учетная запись GitHub (вы можете установить свое имя пользователя таким же, как имя вашей учетной записи GitHub, но имя пользователя может быть любым, на самом деле)

Используя, curl -H "Authorization: token MY_TOKEN_NUMBERS"как рекомендовано ElpieKay , вы полностью избавляетесь от необходимости указывать «имя пользователя». PAT (Personal Access Токен) достаточно для GitHub для аутентификации.

Все, что имеет в нем " ssh" (вроде ~/.ssh/id_rsa.pub), применимо только к SSH URL ( [email protected]:<me>/<myRepo>) и не имеет ничего общего с curlкомандами на основе HTTPS . Как я уже упоминал в 2013 году,
SSH в api.github.comлюбом случае не будет применяться к звонкам .