Das an GIT_SSH_COMMAND übergebene Argument „-i“ wird ignoriert
Lesezeit: 3 Minuten
Ich möchte eine andere IdentityFile für Git verwenden. Ich möchte es dynamisch verwenden, nicht über die Konfiguration. Ich mache das:
$ GIT_SSH_COMMAND='ssh -i /home/my_user/.ssh/id_ed25519' git pull origin master
repository access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Der Pub-Schlüssel „id_ed25519.pub“ befindet sich in meinem Bitbucket.
Und auch das scheitert:
$ git pull origin master
repository access denied.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Hinzufügen -o IdentitiesOnly=yes Ich habe es gelöst. Es weist SSH an, Identitäten vom SSH-Agenten (z. B. hinzugefügt mit) zu ignorieren ssh-add), die ansonsten Vorrang haben.
Ich habe einen Satz hinzugefügt, der kurz beschreibt, was IdentitiesOnly tut. Sie können die Änderung jederzeit bearbeiten/zurücksetzen, falls Sie mit der Änderung nicht einverstanden sind.
– Luator
8. September 2022 um 9:01 Uhr
Überprüfen Sie Ihre Befehle (wird Git direkt oder über einen Alias aufgerufen) und Ihre Konfiguration:
Wie ich in „Verwenden“ erwähne GIT_SSH_COMMAND“, könnte ein git config -l eine andere Konfiguration aufdecken, die die Umgebungsvariable überschreiben würde.
Überprüfen Sie die Rückgabe von git config core.sshCommand.
Endlich, GIT_SSH_COMMAND bedeutet Git 2.10+. Wenn Ihre Git-Version also zu alt ist, müssen Sie sie zuerst aktualisieren.
„Idiot zu alt“ war mein Problem.
– Stud
8. Februar 2021 um 23:18 Uhr
git –version show up „git version 2.33.0“ hat immer noch dieses Problem.
– Truong Hieu
13. April um 16:11 Uhr
@TruongHieu Hätte Git 2.40 es auch?
– VonC
13. April um 17:17 Uhr
Falls jemand dieses Problem mit der geringfügigen Änderung der Einstellung hat GIT_SSH_COMMAND in einer Zeile und dann auf einer anderen Linie tatsächlich läuft das git Befehl, versuchen Sie bitte einen der folgenden Schritte:
Ich habe eingestellt GIT_SSH_COMMAND direkt nachdem Sie herausgefunden haben, welcher Schlüssel verwendet werden soll, und dann ausgeführt werden git ein paar Zeilen später. Ich habe das versehentlich entfernt export und es hat das kaputt gemacht git Befehl.
Da dies einer der Top-Google-Links bei der Suche nach „GIT_SSH_COMMAND“ ist und die Frage häufiger positiv bewertet wird als die Antworten, kann es sein, dass einige Besucher das gleiche Problem wie OP haben, jedoch aus einem anderen Grund als in den anderen Antworten empfohlen. Hoffentlich ist das für jemanden hilfreich.
14504300cookie-checkDas an GIT_SSH_COMMAND übergebene Argument „-i“ wird ignoriertyes