Como faço para usar o SSH para fazer login no Github e criar um novo repositório na linha de comando?

Aug 15 2020

Quando eu crio um novo repositório Github usando o comando curl conforme mostrado abaixo, ele sempre me pede para inserir a senha.

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

Aqui está minha pergunta. Como usar o SSH para fazer login no Github e criar um novo repositório usando o keychain ssh na linha de comando?

Respostas

1 VonC Aug 16 2020 at 01:25

Lembre-se de que as configurações de user.name/ user.emailconfig não têm nada a ver com:

  • autenticação (eles são usados ​​apenas para autoria de commit)
  • sua conta GitHub (você pode definir seu user.name para ser igual ao seu nome de conta GitHub, mas user.name pode ser o que você quiser, na verdade)

Usando um curl -H "Authorization: token MY_TOKEN_NUMBERS"conforme recomendado por ElpieKay , você ignora completamente a necessidade de fornecer um "nome de usuário".
O PAT (Personal Access Token) é o suficiente para o GitHub autenticar você.

Qualquer coisa com ' ssh' nele (como ~/.ssh/id_rsa.pub) se aplicaria apenas para URL SSH ( [email protected]:<me>/<myRepo>) e não tem nada a ver com curlcomandos baseados em HTTPS .
SSH não se aplica a api.github.comchamadas de qualquer maneira, como mencionei em 2013 .