GIT: Ich versuche, eine Datei in ein Repo eines Freundes zu pushen, aber Fehler beim öffentlichen Schlüssel.
git Push Origin testbranch
Permission denied (publickey).
fatal: Could not read from remote repository.
Wo und wie definieren wir öffentliche/private Schlüssel?
git remote -v gibt zurück:
Origin [email protected]:Sesamzaad/NET.git (fetch)
Origin [email protected]:Sesamzaad/NET.git (Push)
jede Hilfe wird geschätzt.
Ich war mit demselben Problem konfrontiert.
Verwenden Sie ssh anstelle von http. Entfernen Sie Origin, wenn sein http.
git remote rm Origin
Fügen Sie ssh-URL hinzu
git remote add Origin [email protected]:<username>/<repo>.git
Generieren Sie den SSH-Schlüssel im Ordner .ssh /. Sie werden nach dem Pfad und der Passphrase gefragt, in die Sie einfach die Eingabetaste drücken und fortfahren können.
cd ~/.ssh
ssh-keygen
Kopieren Sie den Schlüssel. Sie können Ihren Schlüssel mit anzeigen. Wenn Sie keinen anderen Pfad angegeben haben, ist dies der Standardpfad.
cat ~/.ssh/id_rsa.pub
Fügen Sie diesen Schlüssel Ihrem github-Konto hinzu. Nächstes tun
ssh -T [email protected]
Sie erhalten eine Begrüßungsnachricht in Ihrer Konsole.
cd in Ihren Projektordner. git Push -u Origin master
funktioniert jetzt!
Ich musste mich nur mit diesem Problem befassen. @ user3445140's Antwort hat mir geholfen, aber es war viel mehr als ich tun musste.
1. cat ~/.ssh/id_rsa.pub
2. copy the key, including the "ssh-rsa" but *excluding your computer name at the end*
3. Go to: https://github.com/settings/ssh
4. Add your SSH key
Das hat bei mir funktioniert.
entfernen Sie zunächst die aktuelle Fernbedienung:
git remote rm Origin
zweitens füge Remote über HTTPS hinzu, aber git @ xxx
git remote add Origin https://github.com/Sesamzaad/NET.git
dann hat Push für mich gearbeitet:
git Push Origin master
Keine der oben genannten Lösungen funktionierte für mich. Für den Kontext habe ich Ubuntu, und ich hatte bereits die Ssh-Key Setup-Dokumentation durchlaufen. Der Fix für mich war, ssh-add
im Terminal auszuführen. Das Problem wurde behoben.
Ich verwende Ubuntu 16.04
Entfernen des entfernten Origin mit
git remote rm Origin
setzen der http-URL mit
git remote add Origin https://github.com/<<Entire Path of the new Repo>>
git Push Origin master
Über den oben genannten Schritten wurde erfolgreich Code zum Repo hinzugefügt.
Ich habe es behoben, indem ich den Schlüssel meinem SSH-Agenten vorgelesen habe. Aus einigen Gründen war es weg.
Sie müssen Ihren öffentlichen Schlüssel wahrscheinlich zu github hinzufügen. https://help.github.com/articles/generating-ssh-keys
Überprüfen Sie diesen Thread: GitHub: Berechtigung verweigert (publickey). fatal: Das entfernte Ende hat unerwartet aufgelegt
Das hat bei mir funktioniert. Einfachste Lösung bei weitem.
Wenn Sie GitHub für Windows verwenden und diese Fehlermeldung angezeigt wird, besteht das Problem möglicherweise darin, dass Sie versuchen, den Befehl in der falschen Shell oder im falschen Modus auszuführen. Wenn Sie versuchen, git Push Origin master
in der regulären Befehlszeile oder PowerShell auszuführen, ist dies das Problem.
Sie müssen es in einer git Shell tun. Öffnen Sie einfach Github für Windows, klicken Sie mit der rechten Maustaste und wählen Sie "Shell hier öffnen". Es sieht aus wie ein gewöhnliches PowerShell-Fenster, ist aber nicht so, dass Neulinge wie ich wirklich verwirrend sind.
Ich hoffe, andere finden das nützlich.
Die Dokumentation von Github ist wirklich erklärend.
https://help.github.com/de/articles/adding-a-new-ssh-key-to-your-github-accounthttps: //help.github. de/de/articles/generiere-einen-neuen-ssh-Schlüssel-und-füge-ihn-dem-ssh-Agenten hinz
Ich denke, Sie müssen die letzten Schritte aus der Anleitung ausführen, um Ihre Schlüssel richtig zu konfigurieren
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa
Lösung: Sie müssen Ihren SSH-Schlüssel in Ihr Git-Hub-Profil einfügen. Befolgen Sie die Schritte, um dieses Problem zu beheben
Jetzt können Sie Ihren Ordner verschieben
Hoffe, das wird hilfreich für Sie sein
Wenn Sie bereits Ihren öffentlichen Schlüssel zum GITHUB-Server hinzugefügt haben, gibt es andere Lösungen, die Sie ausprobieren können.
In meinem Fall ist der GIT-Push in RUBYMINE fehlgeschlagen, aber durch das Terminalfenster wurde das Problem behoben.
Weitere Lösungen finden Sie auf dieser Seite https://github.com/gitlabhq/gitlabhq/issues/4730
Dieser Fehler ist bei der Verwendung von Ubuntu Bash unter Windows aufgetreten.
Ich habe auf Standard Windows Cmd Prompt umgestellt, und es funktionierte kein Fehler.
Dies ist eine Problemumgehung, da Sie wahrscheinlich den privaten ssh-Schlüssel in der ubuntu-Umgebung laden müssen, wenn Sie ubuntu verwenden möchten.
Um die Bereitstellung im Repo Ihres Freundes durchzuführen, müssen Sie Ihren öffentlichen Schlüssel zu den Implementierungsschlüsseln des Repositorys hinzufügen.
Gehen Sie zum Repository, stellen Sie die Schlüssel bereit, und fügen Sie "id_rsa.pub" (oder wie auch immer Ihr Name genannt wird) hinzu, um die Schlüssel "bereitzustellen".
Ich glaube, wenn Sie den Schlüssel zu Ihrem eigenen Konto hinzufügen, können Sie nur in Repositorys schreiben, die Ihr Konto erstellt hat. Wenn es von einer Organisation erstellt wurde, müssen Sie den Schlüssel zu den Bereitstellungsschlüsseln des Repos hinzufügen.
https://developer.github.com/v3/guides/managing-deploy-keys/
Ich stand vor dem gleichen Problem. Fragen Sie Ihren Freund, Sie als Mitarbeiter hinzuzufügen, indem Sie zu den Repo-Einstellungen gehen und einen neuen Mitarbeiter hinzufügen.
Sie werden eine Einladungs-E-Mail erhalten, akzeptieren Sie diese. Dann können Sie sofort loslegen.
Sie müssen das Projekt mit Ihrem eigenen Benutzer-Repository verknüpfen.
Dann add Origin
:
git remote add upstream your-ssh-here <br>
git fetch upstream <br>
git branch --set-upstream-to=upstream/master master