¿Cómo uso SSH para iniciar sesión en Github y crear un nuevo repositorio en la línea de comandos?

Aug 15 2020

Cuando creo un nuevo repositorio de Github usando el comando curl como se muestra a continuación, siempre me pide que ingrese la contraseña.

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

Esta es mi pregunta. ¿Cómo usar SSH para iniciar sesión en Github y crear un nuevo repositorio usando el llavero ssh en la línea de comando?

Respuestas

1 VonC Aug 16 2020 at 01:25

Tenga en cuenta que la configuración de user.name/ user.emailconfig no tiene nada que ver con:

  • autenticación (se utilizan solo para confirmar la autoría)
  • su cuenta de GitHub (puede configurar su user.name para que sea el mismo que el nombre de su cuenta de GitHub, pero user.name puede ser lo que quiera, en realidad)

Si utiliza un curl -H "Authorization: token MY_TOKEN_NUMBERS"como lo recomienda ElpieKay , omite completamente la necesidad de proporcionar un "nombre de usuario".
El PAT (token de acceso personal) es suficiente para que GitHub lo autentique.

Cualquier cosa con ' ssh' en él (como ~/.ssh/id_rsa.pub) se aplicaría solo para SSH URL ( [email protected]:<me>/<myRepo>) y no tiene nada que ver con los curlcomandos basados ​​en HTTPS .
SSH no se aplicaría a las api.github.comllamadas de todos modos, como mencioné en 2013 .