Ich lud meine ~/.ssh/id_rsa.pub
zu Bitbucket des SSH - Schlüssel , wie erklärt , aber Git fragt mich immer noch für mein Passwort bei jeder Operation (wie git pull
). Habe ich etwas verpasst?
Es ist ein privates Repository (Abzweigung des privaten Repositorys einer anderen Person) und ich habe es so geklont:
git clone [email protected]:Nicolas_Raoul/therepo.git
Hier ist mein Einheimischer .git/config
:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://[email protected]/Nicolas_Raoul/therepo.git
[branch "master"]
remote = origin
merge = refs/heads/master
In derselben Umgebung mit demselben öffentlichen Schlüssel funktioniert Git on Github einwandfrei.
.ssh
ist rwx------
, .ssh/id_rsa
ist -rw-------
, .ssh/id_rsa.pub
ist-rw-r--r--
.git/config
durch ersetzt[email protected]:Nicolas_Raoul/therepo.git
und jetzt funktioniert es!ssh://[email protected]/userName/repoName.git
- ohnessh://
Präfix hat es nicht funktioniert.Wie hier erläutert , müssen Sie beim Klonen mit der SSH- URL nicht bei jedem Drücken / Ziehen einen Benutzernamen / ein Kennwort eingeben. Überprüfen Sie die obige Antwort von @manojlds
Wenn Sie jedoch mit HTTPS klonen und die Eingabe von Benutzername / Kennwort jedes Mal vermeiden möchten , können Sie die Anmeldeinformationen mit dem folgenden Befehl im Cache speichern :
git config --global credential.helper 'cache --timeout 3600'
Wenn 3600 (Sekunden) 1 Stunde bedeutet, können Sie es gemäß Ihren Anforderungen ändern.
quelle
manecs-MBP:LocationTracker manec$ git remote -v origin https://[email protected]/Vysh1/locationtracker.git (fetch) origin https://[email protected]/Vysh1/locationtracker.git (push)
Es ist bereits oben beantwortet. Ich werde die oben zu überprüfenden Schritte zusammenfassen.
git remote -v
im Projektverzeichnis ausführen . Wenn in der Ausgabe die Remote-URL beginnend mit angezeigt wirdhttps://abc
angezeigt wird, benötigen Sie möglicherweise jedes Mal ein Benutzername-Passwort.Also, um die Remote-URL zu ändern
git remote set-url origin {ssh remote url address starts with mostly [email protected]:}
.Jetzt renn
git remote -v
, um die geänderte Remote-URL zu überprüfen.Siehe: https://help.github.com/articles/changing-a-remote-s-url/
quelle
Hallo Googler aus der Zukunft.
Unter MacOS> = High Sierra wird der SSH-Schlüssel aus Gründen nicht mehr in der KeyChain gespeichert .
Die Verwendung von
ssh-add -K
nicht mehr überlebt auch Neustarts.Hier sind 3 mögliche Lösungen .
Ich habe die erste Methode erfolgreich angewendet. Ich habe eine Datei mit dem Namen erstellt
config
in~/.ssh
:quelle
config
Datei/.ssh
funktioniert perfekt!cd ~/.ssh
+ls
+nano config
(die Datei wurde bereits erstellt) + Code in Vaidens Antwort hinzufügen. Steuern Sie dann X + Y, um die Datei zu speichern.Im HTTP-Anforderungsfall ist es auch und alternativ möglich, die Anmeldeinformationen (mit Kennwort) direkt in die URL einzufügen:
Dies erspart Ihnen den Schmerz, Ihre Anmeldeinformationen jedes Mal erneut anzugeben. Ändern Sie einfach Ihre .git / config (die URL).
quelle
$%
777
: Anhalten, Nachdenken, Nachforschen, Verstehen und dann ordnungsgemäß ausführen.Keine dieser Antworten half mir, es stellte sich heraus, dass mein Problem etwas anders war. Es war ssh, der jedes Mal nach meinem Passwort fragte, bevor er den Schlüssel schickte. Also musste ich mein Passwort mit diesem Befehl verknüpfen:
Sie werden dann aufgefordert, Ihr Passwort einzugeben und es zu speichern. Dies könnte die Lösung sein, nach der Sie suchen, wenn Sie jedes Mal zur Eingabe eines Passworts aufgefordert werden
Mehr Infos hier
HINWEIS: Ich habe dies auf meinem Mac-Computer erfolgreich verwendet, aber wie @Rob Kwasowski weiter unten ausgeführt hat, ist die
K
Option in Großbuchstaben nur für Mac verfügbar . Wenn nicht auf dem Mac, müssen Sie Kleinbuchstaben verwendenk
(was wahrscheinlich auch auf dem Mac funktioniert, aber ich habe es nicht getestet).quelle
k
:ssh-add -k ~/.ssh/id_rsa
k
und nicht in Großbuchstaben geschrieben, da bei diesen Optionen zwischen Groß- und Kleinschreibung unterschieden wird.-K
die spezifisch für Mac sind: help.github.com/de/articles/error-ssh-add-illegal-option----kSchritt 1: Installieren Sie git-credential-winstore
https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html
Schritt 2: git config --global credential.helper 'cache --timeout 3600'
Hiermit wird Ihr Passwort 1 Stunde lang gespeichert
quelle
Step 1
ist fürWindows
undStep 2
ist für,Linux
aber du hast vergessen, es richtig zu erwähnen.Im Folgenden wird ein Befehlszeilenzugriff über iTerm / Terminal auf Bitbucket vorausgesetzt.
Für MacOS Sierra 10.12.5 zeigte mein System ein gleichwertiges Problem: Bei jeder Verbindung zu Bitbucket wurde nach meiner SSH-Passphrase gefragt.
Das Problem hat mit OpenSSH-Updates in macOS 10.12.2 zu tun, die hier im Technischen Hinweis TN2449 beschrieben werden .
Möglicherweise möchten Sie Ihre Lösung anpassen, aber Folgendes funktioniert, wenn Sie es zu Ihrer ~ / .ssh / config-Datei hinzufügen:
Weitere Informationen zu ssh-Konfigurationen finden Sie in den Manpages für ssh_config:
Eine andere Sache: es gibt eine gute Zuschreibung auf Super - User hier , die dieses Problem und verschiedene Lösungen diskutiert je nach Ihren Bedürfnissen und Setup.
quelle
Ich habe das Repository mit einer HTTPS-URL anstelle einer SSH-URL geklont, daher wurde ich auch nach dem Hinzufügen des SSH-Schlüssels nach dem Kennwort für Bash Shell gefragt.
Ich habe gerade die
./.git/config
Datei bearbeitet und den Wert derurl
Variablen durch einfaches Ersetzen der geänderthttps://
tossh://
Z.B
Gewechselt zu:
quelle
Möglicherweise müssen Sie Ihre SSH-Identitätsdatei überprüfen. Möglicherweise führen Sie BitBucket an, einen anderen / falschen privaten Schlüssel als den entsprechenden öffentlichen Schlüssel zu suchen, den Sie in BitBucket gespeichert haben.
Überprüfen Sie es mit
tail ~/.ssh/config
- Sie werden etwas Ähnliches sehen wie:Denken Sie daran, dass das Hinzufügen zusätzlicher Identitäten (wie Arbeit und Zuhause) mit dem
ssh-add
Befehl erfolgen kann, zum Beispiel:Nachdem Sie bestätigt haben, welcher private Schlüssel lokal angezeigt wird, können Sie in diesem Fall Ihr öffentliches Äquivalent verwenden:
Und fügen Sie diese Chiffre in BitBucket ein. Ihre Git-Pushs werden jetzt (vorausgesetzt, Sie verwenden den SSH-Klon, wie in den oben genannten Antworten angegeben) ohne Passwort zugelassen, da Ihr Gerät als freundlich eingestuft wird.
Hoffentlich hilft das, es für jemanden aufzuklären.
quelle
Obwohl ich 'git clone ssh: //[email protected]: 7999 / projName / projA.git' ausgeführt habe, wurde ich immer noch aufgefordert, ein Passwort für dieses neue Repo einzugeben, das ich geklont habe / config-Datei für andere funktionierende Repos. Es stellte sich heraus, dass es sich um die URL im Abschnitt [remote "origin"] handelt. Für das neue Repo wurde der SSH-Pfad oben festgelegt, für das funktionierende Repo jedoch https: xxx .
quelle
Ich hatte andere Verrücktheiten beim Einloggen. Ich stieß auf etwas, das völlig dumm schien, aber in meinem Fall funktionierte. Gehen Sie einfach zum MacOS-Schlüsselbund. Suchen Sie das Anmeldesperrsymbol in der Seitenleiste. Klicken Sie zum Abmelden darauf und dann zum Anmelden. Klingt dumm, hat aber meine Probleme gelöst. Einen Versuch wert.
quelle