Come posso utilizzare SSH per accedere a Github e creare un nuovo repository nella riga di comando?

Aug 15 2020

Quando creo un nuovo repository Github utilizzando il comando curl come mostrato di seguito, mi chiede sempre di inserire la password.

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

Ecco la mia domanda. Come utilizzare SSH per accedere a Github e creare un nuovo repository utilizzando il portachiavi ssh nella riga di comando?

Risposte

1 VonC Aug 16 2020 at 01:25

Tieni presente che le impostazioni user.name/ user.emailconfig non hanno nulla a che fare con:

  • autenticazione (sono usati solo per la paternità del commit)
  • il tuo account GitHub (puoi impostare il tuo user.name in modo che sia lo stesso del tuo account GitHub, ma user.name può essere qualsiasi cosa tu voglia, davvero)

Ma utilizzando un curl -H "Authorization: token MY_TOKEN_NUMBERS"come consigliato da ElpieKay , si aggira completamente la necessità di fornire un "nome utente".
Il PAT (Personal Access Token) è sufficiente per GitHub per autenticarti.

Qualsiasi cosa con " ssh" in esso (come ~/.ssh/id_rsa.pub) si applicherebbe solo all'URL SSH ( [email protected]:<me>/<myRepo>) e non ha nulla a che fare con i curlcomandi basati su HTTPS .
SSH non si applicherebbe api.github.comcomunque alle chiamate, come ho detto nel 2013 .