Ich habe ein SSH-Schlüsselpaar ohne Passwort generiert und den öffentlichen Schlüssel zu GitHub hinzugefügt.
Verbindung mit
user@dev:/var/www/project# ssh -T [email protected]
Hi User! You've successfully authenticated, but GitHub does not provide shell access.
war erfolgreich und wenn ich den Schlüssel umbenenne, schlägt er fehl.
Wenn ich jedoch meine Änderungen vornehmen möchte, werde ich immer noch nach meiner Kombination aus Benutzername und Passwort gefragt.
Gibt es eine Möglichkeit, ohne Passwort zu pushen?
https://github...
in Ihren Fernbedienungen verwenden. Sie sollten auch demgit@github...
Format folgen .Antworten:
Wenn Sie nach einem Benutzernamen und einem Kennwort gefragt werden , zeigt Ihre Ursprungsfernbedienung auf die HTTPS-URL und nicht auf die SSH-URL.
Ändern Sie es in ssh.
Beispielsweise hat ein GitHub-Projekt wie Git eine HTTPS-URL:
Und der SSH:
Du kannst tun:
um die URL zu ändern.
quelle
git remote set-url origin $(git remote show origin | grep "Fetch URL" | sed 's/ *Fetch URL: //' | sed 's/https:\/\/github.com\//[email protected]:/')
Zusätzlich scheint es, dass Sie den Benutzernamen weglassen müssen
quelle
Für den Fall, dass Sie zwar die SSH-URL verwenden, aber beim Drücken von git immer noch nach Benutzername und Passwort gefragt werden:
Sie sollten versuchen, Fehler zu beheben mit:
Unten finden Sie eine Beispielausgabe:
Ich habe GitHub bereits zuvor den öffentlichen Schlüssel hinzugefügt, und ich habe den privaten Schlüssel auch lokal. Mein privater Schlüssel hat jedoch einen anderen Namen
/c/Users/Yuci/.ssh/github_rsa
.Laut der Beispielausgabe versucht Git
/c/Users/Yuci/.ssh/id_rsa
, was ich nicht habe. Deshalb konnte ich einfach kopierengithub_rsa
zuid_rsa
im gleichen Verzeichnis.Wenn ich jetzt
ssh -vT [email protected]
wieder renne , habe ich:Und jetzt kann ich auf GitHub pushen, ohne nach Benutzername und Passwort gefragt zu werden :-)
quelle
Sie müssen die SSH- Version verwenden, nicht HTTPS . Wenn Sie aus einem Repository klonen, kopieren Sie den Link mit der SSH- Version, da SSH einfach zu verwenden ist und alle Probleme beim Zugriff löst. Sie können den Zugriff für jede SSH festlegen, die Sie in Ihr Konto eingeben (z. B. Push, Pull, Clone usw.).
Hier ist ein Link, der erklärt, warum wir SSH benötigen und wie man es verwendet: Schritt für Schritt
Git SSH-Schlüssel generieren
quelle
Erstellen Sie wie gewohnt einen SSH-Schlüssel und fügen Sie den öffentlichen Schlüssel in GitHub ein. Fügen Sie den privaten Schlüssel zu ssh-agent hinzu. (Ich nehme an, das haben Sie getan.)
Verwenden Sie, um zu überprüfen, ob alles korrekt ist
ssh -T [email protected]
Vergessen Sie als Nächstes nicht, den Remote-Punkt wie folgt zu ändern:
quelle
Verwenden der Befehlszeile:
Geben Sie ein
ls -al ~/.ssh
, um festzustellen , ob vorhandene SSH-Schlüssel vorhanden sind.Im Terminal wird angezeigt: Es ist kein Verzeichnis vorhanden
Generieren Sie dann einen neuen SSH-Schlüssel
Schritt 1.
Schritt 2.
Schritt 3.
quelle