Wie melde ich mich mit SSH bei Github an und erstelle ein neues Repository in der Befehlszeile?

Aug 15 2020

Wenn ich ein neues Github-Repository mit dem unten gezeigten Befehl curl erstelle, werde ich immer aufgefordert, das Kennwort einzugeben.

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

Hier ist meine Frage. Wie verwende ich SSH, um mich bei Github anzumelden und ein neues Repository zu erstellen, indem ich den ssh-Schlüsselbund in der Befehlszeile verwende?

Antworten

1 VonC Aug 16 2020 at 01:25

Beachten Sie, dass die user.name/ user.emailconfig-Einstellungen nichts zu tun haben mit:

  • Authentifizierung (sie werden nur zum Festschreiben der Urheberschaft verwendet)
  • Ihr GitHub-Konto (Sie können Ihren Benutzernamen so einstellen, dass er mit Ihrem GitHub-Kontonamen übereinstimmt, aber der Benutzername kann wirklich alles sein, was Sie wollen)

Wenn Sie einen curl -H "Authorization: token MY_TOKEN_NUMBERS"von ElpieKay empfohlenen verwenden , umgehen Sie die Notwendigkeit, einen "Benutzernamen" anzugeben , vollständig.
Das PAT (Personal Access Token) reicht aus, damit GitHub Sie authentifiziert.

Alles, was ' ssh' enthält (wie ~/.ssh/id_rsa.pub), würde nur für die SSH-URL ( [email protected]:<me>/<myRepo>) gelten und hat nichts mit HTTPS-basierten curlBefehlen zu tun .
SSH würde api.github.comsowieso nicht für Anrufe gelten , wie ich 2013 erwähnte .