Wie vermeide ich die Angabe von Benutzername und Passwort bei jedem Git-Push?

Lesezeit: 7 Minuten

Wie vermeide ich die Angabe von Benutzername und Passwort bei
Leem.fin

ich git push meine Arbeit in ein entferntes Git-Repository.

Jeden push wird mich zur Eingabe auffordern username und password. Ich würde es gerne bei jedem Push vermeiden, aber wie kann ich es konfigurieren, um es zu vermeiden?

  • Eine Antwort finden Sie hier: stackoverflow.com/questions/6565357/…

    – kbdjockey

    21. Dezember 2011 um 11:02 Uhr

  • Um es kurz zu machen: Für github folgen Sie einfach diesen beiden Links help.github.com/articles/generating-ssh-keys help.github.com/articles/change-a-remote-s-url

    – JRun

    12. August 2014 um 11:45 Uhr

  • für Bitbucket folgen Sie bitte dieser Link

    – JDP

    13. Oktober 2016 um 4:11 Uhr

  • Beantwortet das deine Frage? Git-Push erfordert Benutzername und Passwort

    – T. Todua

    27. Dezember 2021 um 10:12 Uhr

1646261887 724 Wie vermeide ich die Angabe von Benutzername und Passwort bei
Erste Null

1. Generieren Sie einen SSH-Schlüssel

Linux/Mac

Öffnen Sie das Terminal, um SSH-Schlüssel zu erstellen:

cd ~                 #Your home directory
ssh-keygen -t rsa    #Press enter for all values

Für Windows

(Funktioniert nur, wenn das Commit-Programm Zertifikate/private und öffentliche SSH-Schlüssel verwenden kann)

  1. Verwenden Sie Putty Gen, um einen Schlüssel zu generieren
  2. Exportieren Sie den Schlüssel als offenen SSH-Schlüssel

Hier ist ein Komplettlösung auf Putty Gen für die obigen Schritte

2. Ordnen Sie den SSH-Schlüssel dem Remote-Repository zu

Dieser Schritt variiert, je nachdem, wie Ihre Fernbedienung eingerichtet ist.

  • Wenn es sich um ein GitHub-Repository handelt und Sie über Administratorrechte verfügen, gehen Sie zu die Einstellungen und klicken Sie auf „SSH-Schlüssel hinzufügen“. Kopieren Sie den Inhalt Ihrer ~/.ssh/id_rsa.pub in das Feld „Schlüssel“ ein.

  • Wenn Ihr Repository von jemand anderem verwaltet wird, geben Sie dem Administrator Ihre id_rsa.pub.

  • Wenn Ihr Remote-Repository von Ihnen verwaltet wird, können Sie beispielsweise diesen Befehl verwenden:

    scp ~/.ssh/id_rsa.pub YOUR_USER@YOUR_IP:~/.ssh/authorized_keys/id_rsa.pub

3. Stellen Sie Ihre Remote-URL auf ein Formular ein, das SSH unterstützt 1

Wenn Sie die obigen Schritte ausgeführt haben und immer noch die Passwortabfrage erhalten, vergewissern Sie sich, dass Ihre Repo-URL im Formular enthalten ist

git+ssh://[email protected]/username/reponame.git

im Gegensatz zu

https://github.com/username/reponame.git

Führen Sie Folgendes aus, um Ihre Repo-URL anzuzeigen:

git remote show origin

Sie können die URL ändern mit:

git remote set-url origin git+ssh://[email protected]/username/reponame.git

[1] Dieser Abschnitt enthält die Antwort von Eric P

  • Ich habe Schritt 1 und Schritt 2 auf Ubuntu ausgeführt, aber es fragt mich immer noch nach u_id passwd. Ich habe auch ausgeführt: ssh -T [email protected]. Immer noch die gleichen. Was ist zu tun?

    – Radhika

    7. Januar 2015 um 7:24 Uhr

  • @Rads Hast du die andere Antwort versucht, by Erich P?

    – du

    2. März 2015 um 1:48 Uhr

  • @dialex Er meinte eine Person, die das Remote-Git-Repository verwaltet.

    – Verkäufer

    22. Dezember 2015 um 11:40 Uhr

  • git remote set-url origin git+ssh://[email protected]/username/reponame.git dieser Befehl ist hilfreich für mich.

    – Künstliche Intelligenz

    18. Juni 2016 um 0:09 Uhr

  • Das hat bei mir funktioniert git remote set-url origin [email protected]:/username/projectname.git

    – Kurt

    11. April 2019 um 14:00 Uhr

Wie vermeide ich die Angabe von Benutzername und Passwort bei
Jaykumar Patel

Permanente Authentifizierung mit Git-Repositories,

Führen Sie den folgenden Befehl aus, um das Zwischenspeichern von Anmeldeinformationen zu aktivieren.

$ git config credential.helper store
$ git push https://github.com/repo.git

Username for 'https://github.com': <USERNAME>
Password for 'https://[email protected]': <PASSWORD>

Die Verwendung sollte auch angeben Caching verfallen,

git config --global credential.helper 'cache --timeout 7200'

Nachdem Sie das Zwischenspeichern von Anmeldeinformationen aktiviert haben, werden diese zwischengespeichert 7200 Sekunden (2 Stunden).

Notiz: Credential Helper speichert ein unverschlüsseltes Passwort auf einer lokalen Festplatte.

  • Danke. Können Sie bitte erklären, was der Befehl config macht? Ich frage mich, warum es mich nicht einmal nach einem Passwort fragt, wenn ich das erste Mal in ein Repo pushe.

    – HelloWorldNoMore

    10. Mai 2016 um 21:06 Uhr

  • @vivoconunxino Wahrscheinlich, weil es von Natur aus unsicher ist. Von dem git manpage: “Die Verwendung dieses Helfers speichert Ihre Passwörter unverschlüsselt auf der Festplatte, geschützt nur durch Dateisystemberechtigungen.”

    – Cmaster – Wiedereinsetzung von Monica

    15. Dezember 2017 um 15:33 Uhr

  • In dieser Antwort fehlt eine Warnung über die store Credential Helper speichert das Passwort unverschlüsselt auf der Festplatte.

    – Cmaster – Wiedereinsetzung von Monica

    15. Dezember 2017 um 15:34 Uhr

  • @DavidRTibble: auf Cache setzen? Oder entfernen Sie die relevante Datei, siehe git-scm.com/docs/git-credential-store

    – serv-inc

    29. März 2019 um 14:44 Uhr

  • @DavidRTibble: besser: git config --unset credential.helper

    – serv-inc

    3. April 2019 um 8:11 Uhr

Wie vermeide ich die Angabe von Benutzername und Passwort bei
Erich P

Wenn Sie Ihre SSH-Schlüssel bereits eingerichtet haben und immer noch die Passwortabfrage erhalten, vergewissern Sie sich, dass Ihre Repo-URL im Formular enthalten ist

git+ssh://[email protected]/username/reponame.git

im Gegensatz zu

https://github.com/username/reponame.git

Führen Sie Folgendes aus, um Ihre Repo-URL anzuzeigen:

git remote show origin

Sie können die URL mit ändern git remote set-url so:

git remote set-url origin git+ssh://[email protected]/username/reponame.git

  • Dies hat mein Problem behoben, nachdem ich es verwendet hatte git init lokal und versuchte dann, nach dem Hinzufügen der Fernbedienung von einem neuen Repo auf der GitHub-Website zu pushen.

    – sheldonkreger

    27. Dezember 2014 um 1:26 Uhr

  • Ich bin mir nicht sicher, warum dies nicht Teil der akzeptierten Antwort ist. Danke!

    – jwalk

    15. Januar 2016 um 7:24 Uhr

  • Die akzeptierte Antwort sollte aus der tatsächlich akzeptierten Antwort PLUS dieser bestehen.

    – Puce

    16. Januar 2016 um 16:57 Uhr

  • Sie können “git+ssh://” weglassen und einfach verwenden [email protected]/username/reponame.git

    – Ivan Shulev

    26. Januar 2016 um 15:11 Uhr

  • @IvanShulev Ich habe es anfangs ohne git + ssh versucht und es hat nicht funktioniert

    – Antonello

    8. Dezember 2016 um 12:59 Uhr

1646261888 480 Wie vermeide ich die Angabe von Benutzername und Passwort bei
Pavel

Benutz einfach --repo Option für den Befehl git push. So was:

$ git push --repo https://name:[email protected]/name/repo.git

1646261889 58 Wie vermeide ich die Angabe von Benutzername und Passwort bei
serv-inc

Sparen auf unbestimmte Zeit

Du kannst den … benutzen git-credential-store über

git config credential.helper store

welcher speichert Ihr Passwort unverschlüsselt im Dateisystem:

Wenn Sie diesen Helfer verwenden, werden Ihre Passwörter unverschlüsselt auf der Festplatte gespeichert und nur durch Dateisystemberechtigungen geschützt. Wenn dies kein akzeptabler Sicherheitskompromiss ist, versuchen Sie es mit git-credential-cache oder finden Sie einen Helfer, der sich in den sicheren Speicher Ihres Betriebssystems integrieren lässt.

Mit Timeout

Verwenden Sie die Git-Anmeldeinformationen-Cache die standardmäßig das Passwort für 15 Minuten speichert.

git config credential.helper cache

Um ein anderes Timeout festzulegen, verwenden Sie --timeout (hier 5 Minuten)

git config credential.helper 'cache --timeout=300'

Sicheres Sparen auf unbestimmte Zeit (OS X und Windows)

  • Wenn Sie einen Mac verwenden, wird Git mit einer „osxkeychain“-Modus, das Anmeldeinformationen im sicheren Schlüsselbund zwischenspeichert, der an Ihr Systemkonto angehängt ist. Bei dieser Methode werden die Anmeldeinformationen auf der Festplatte gespeichert, und sie laufen nie ab, aber sie werden mit demselben System verschlüsselt, das HTTPS-Zertifikate und Safari-Autofills speichert. Wenn Sie Folgendes in der Befehlszeile ausführen, wird diese Funktion aktiviert: git config --global credential.helper osxkeychain. Sie müssen die Anmeldeinformationen auch mit der Schlüsselbund-App im Schlüsselbund speichern.
  • Wenn Sie Windows verwenden, können Sie Installieren Sie einen Helfer namens „Git Credential Manager for Windows“. Dies ähnelt dem oben beschriebenen „osxkeychain“-Hilfsprogramm, verwendet jedoch den Windows-Anmeldeinformationsspeicher, um vertrauliche Informationen zu kontrollieren. Es ist unter zu finden https://github.com/Microsoft/Git-Credential-Manager-for-Windows. [emphases mine]

  • Für Windows credential.helper cache funktioniert nicht. Es sollte sein git config --global credential.helper wincred.

    – Paulo Merson

    17. Juli 2019 um 16:38 Uhr

  • Dies ist hilfreich, wenn Sie gezwungen sind, https zu verwenden. Mein Git auf dem Server hängt, wenn ich ssh verwende, daher habe ich keine Option für SSH-Schlüssel.

    – Sridhar Sarnobat

    21. Oktober 2019 um 18:24 Uhr


1646261889 151 Wie vermeide ich die Angabe von Benutzername und Passwort bei
Matt

Ich habe den https-Link verwendet (https://github.com/org/repo.git) anstelle des ssh-Links;

[email protected]:org/repo.git  

Der Wechsel hat das Problem bei mir gelöst!

  • Für Windows credential.helper cache funktioniert nicht. Es sollte sein git config --global credential.helper wincred.

    – Paulo Merson

    17. Juli 2019 um 16:38 Uhr

  • Dies ist hilfreich, wenn Sie gezwungen sind, https zu verwenden. Mein Git auf dem Server hängt, wenn ich ssh verwende, daher habe ich keine Option für SSH-Schlüssel.

    – Sridhar Sarnobat

    21. Oktober 2019 um 18:24 Uhr


1646261890 277 Wie vermeide ich die Angabe von Benutzername und Passwort bei
Anil Agrawal

Schritt 1 –

Erstellen Sie SSH-Schlüssel auf Ihrem Linux-System mit dem folgenden Befehl

ssh-keygen -t rsa -b 4096 -C "your_email"

Es wird nach Passphrase und Dateiname gefragt (Standard ist ~/.ssh/id_rsa, ~/.ssh/id_rsa.pub)

Schritt 2 –

Sobald die Dateien erstellt sind, fügen Sie den öffentlichen Schlüssel id_rsa.pub zum ssh-Abschnitt des Github-Kontos hinzu.

Schritt 3 –

Fügen Sie auf Ihrem Computer den privaten Schlüssel id_rsa mit dem folgenden Befehl zu ssh-agent hinzu

ssh-add ~/.ssh/id_rsa 

Schritt 4 –

Fügen Sie nun die Remote-URL [email protected]:user_name/repo_name.git mit dem folgenden Befehl zu Ihrem lokalen Git-Repo hinzu.

git remote remove origin
git remote add origin [email protected]:user_name/repo_name.git

Das ist es.

917010cookie-checkWie vermeide ich die Angabe von Benutzername und Passwort bei jedem Git-Push?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy