it-swarm.com.de

Drücken Sie mit ssh-key auf github ohne Passwort

Ich habe ein Schlüsselpaar ohne Passwort generiert und den öffentlichen Schlüssel zu github . Verbindung mit hinzugefügt 

[email protected]:/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 pushen möchte, fragt er mich immer noch nach meiner Kombination aus Benutzername und Passwort.

Gibt es eine Möglichkeit, ohne Kennwort zu drücken?

177
Sebus

Wenn Sie nach einem Benutzernamen und einem Kennwort gefragt werden, zeigt Ihre Origin-Fernbedienung auf die https-URL und nicht auf die ssh-URL.

Ändern Sie es in ssh.

Ein github-Projekt wie Git hat beispielsweise eine https-URL

https://github.com/<Username>/<Project>.git

und die ssh eins:

[email protected]:<Username>/<Project>.git

Du kannst tun:

git remote set-url Origin [email protected]:<Username>/<Project>.git

um die URL zu ändern.

349
manojlds

Für Gists scheint es außerdem so zu sein, dass Sie den Benutzernamen weglassen müssen

git remote set-url Origin [email protected]:<Project code>
9
Gordon Wells

Sie müssen SSH version nicht HTTPS verwenden. Wenn Sie aus dem Repository klonen, kopieren Sie den Link mit SSH version, da SSH einfach zu bedienen ist und alle Probleme löst Zugang. Sie können den Zugriff für jede SSH festlegen, die Sie in Ihr Konto eingeben (wie Push, Pull, Clone usw.).

hier ist ein Link, der besagt, warum wir SSH brauchen und wie man es benutzt: Schritt für Schritt

Git generieren SSH-Schlüssel

5

Falls Sie zwar die SSH-URL verwenden, aber beim git pushing nach Benutzername und Passwort gefragt werden:

git remote set-url Origin [email protected]:<Username>/<Project>.git

Sie sollten versuchen, die Fehlerbehebung mit:

ssh -vT [email protected]

Unten sehen Sie ein Beispiel für eine Ausgabe:

...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_dsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

Ich habe den öffentlichen Schlüssel bereits zuvor zu GitHub hinzugefügt, und ich habe auch den privaten Schlüssel lokal. Mein privater Schlüssel hat jedoch einen anderen Namen namens /c/Users/Yuci/.ssh/github_rsa.

Laut der Beispielausgabe versucht Git /c/Users/Yuci/.ssh/id_rsa, den ich nicht habe. Daher könnte ich einfach github_rsa in id_rsa im selben Verzeichnis kopieren.

cp /c/Users/Yuci/.ssh/github_rsa /c/Users/Yuci/.ssh/id_rsa

Wenn ich jetzt wieder ssh -vT [email protected] starte, habe ich:

...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Authentication succeeded (publickey).
...
Hi <my username>! You've successfully authenticated, but GitHub does not provide Shell access.
...

Und jetzt kann ich auf GitHub pushen, ohne nach Benutzername und Passwort gefragt zu werden :-)

4
Yuci

Erstellen Sie wie üblich 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 gehe davon aus, dass Sie das getan haben). Um zu überprüfen, ob alles korrekt ist, verwenden Sie ssh -T [email protected]

Next Vergessen Sie nicht, den Remote-Punkt wie folgt zu ändern git remote set-url Origin [email protected]:username/your-repository.git

0
Seenivasan