it-swarm.com.de

git with IntelliJ IDEA: Das Remote-Repository konnte nicht gelesen werden

Ich bin seit einigen Wochen nicht mehr in der Lage, aus dem Remote-Repository zu ziehen oder zu drücken. Ich dachte, es wäre beim Upgrade auf IntelliJ IDEA 14 passiert, aber ich kann das Problem auch mit IDEA 13.1.5 reproduzieren.

Der Tooltip sagt "Fehler beim Abrufen Fatal: Konnte nicht aus dem Remote-Repository lesen."

und die Ausnahme in der Registerkarte Version Control liest

14:02:37.737: cd C:\dev\project
14:02:37.737: git -c core.quotepath=false fetch Origin --progress --Prune
Java.io.IOException: Padding in RSA public key!
    at com.trilead.ssh2.signature.RSASHA1Verify.decodeSSHRSAPublicKey(RSASHA1Verify.Java:37)
    at com.trilead.ssh2.KnownHosts.addHostkey(KnownHosts.Java:98)
    at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.Java:414)
    at com.trilead.ssh2.KnownHosts.initialize(KnownHosts.Java:440)
    at com.trilead.ssh2.KnownHosts.addHostkeys(KnownHosts.Java:137)
    at org.jetbrains.git4idea.ssh.SSHMain.configureKnownHosts(SSHMain.Java:462)
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.Java:155)
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.Java:137)
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Mit dem eingebauten Terminal von IntelliJ, das git -c core.quotepath=false fetch Origin --progress --Prune ausführt, funktioniert es wie erwartet.

Laut stacktrace scheint es ein Problem mit meiner KnownHosts zu geben, daher habe ich unseren Git-Server aus ~/.ssh/known_hosts gelöscht. Das Problem tritt jedoch weiterhin bei der Aktualisierung über die Benutzeroberfläche auf, und in known_hosts wird kein neuer Eintrag geschrieben. Nachdem ich über ein Zwischenspeichern der Datei nachgedacht hatte, starte ich IntelliJ neu, ohne Erfolg.

Wenn ich einen anderen git fetch vom Terminal aus mache, werde ich nun gefragt, ob ich den Server dauerhaft hinzufügen möchte. Danach wurde es erneut in known_hosts geschrieben, aber IntelliJ lässt mich mein Projekt immer noch nicht aktualisieren.

Ich habe online nichts über dieses Verhalten gefunden, daher ist es wahrscheinlich kein bekannter Fehler in der neuen IntelliJ-Version. Ich habe trotzdem ein Update auf 14.0.2 durchgeführt, aber das Problem besteht immer noch.

IntelliJ ist für die Verwendung der integrierten SSH-Programmdatei konfiguriert.

Hat jemand eine Ahnung, was hier das Problem sein könnte?

234
stuXnet

Der eingebaute SSH-Client von IntelliJ scheint hash sein known_hosts , aber der, dessen Hostnamen ich hatte, war in Klartext.

Wenn ich die Datei gelöscht habe und IntelliJ eine neue erstellen ließ, mit nur meinem (gehashten) GitLab-Server und nichts anderem, hat es funktioniert.

Es ist auch nicht möglich, es zu mischen. Behalten Sie einige unbehinderte Einträge zusammen mit Hash-Einträgen für IntelliJ bei. Sie müssen also Ihre anderen SSH-Clients für die Verwendung von Hash-Hosts konfigurieren.

19
stuXnet

Settings --> Version Control --> Git und dann in der Dropdown-Liste der ausführbaren SSH-Dateien Native

 Version Control: Git: SSH executable: For current project

Wenn dies nicht hilft, stellen Sie sicher, dass Ihre nativen ssh- und git-Clients eine ausreichend aktuelle Version haben.

691
yabin ya

Gehen Sie zu Voreinstellungen> Versionskontrolle> Git. Stellen Sie sicher, dass die SSH-Programmdatei auf "Native" gesetzt ist. (Wenn dies bereits der Fall ist, wechseln Sie zu "Built-In", wenden Sie es an und wechseln Sie wieder zu "Native".).

Wenn das Problem dadurch nicht gelöst wird, empfehle ich Ihnen, einen Git-Client wie den GitHub-Client (kostenlose Desktop-App) herunterzuladen und zu versuchen, Ihr Projekt über die App zu synchronisieren. Gehen Sie dann zurück zu IntelliJ und prüfen Sie, ob es funktioniert.

67
Farbod

Ich habe kürzlich mit dem Could not read from remote repository -Fehler angefangen, als ich mit meinem Repository " github " arbeitete. Meine Angaben:

  • IntelliJ IDEA 2017.3.4 (Ultimate Edition)
  • Einstellungen -> Versionskontrolle -> Git -> SSH-Programmdatei -> Integriert
  • Fedora Linux 

 enter image description here

Natürlich traten diese Probleme nur auf, wenn versucht wurde, Push/Pull/Fetch usw. von IDE auszuführen - die Ausführung derselben Befehle über die Befehlszeile funktionierte wie ein Zauber.

Lösung, die für mich funktioniert hat

Ich wollte nicht von Built-In SSH-Programmdatei zu Native wechseln, hauptsächlich weil mein nativer SSH-Client mich jedes Mal nach dem Kennwort fragt, wenn ich versuche, mit dem Remote-Repository zu synchronisieren. 

Ich habe dieses Problem gelöst, indem ich von der SSH-Remote-URL zur HTTPS-URL gewechselt habe. Gemäß dieser GitHub-Hilfeseite - wird empfohlen, die HTTPS-URL anstelle der SSH-URL zu verwenden .

Remote-URL von SSH in HTTPS ändern

Gehen Sie in IntelliJ IDEA zu VCS -> Git -> Remotes ..., wählen Sie die Zeile mit "Origin" aus und klicken Sie auf die Schaltfläche Bearbeiten. Wenn Sie Ihr Repository auf GitHub hosten, ersetzen Sie Ihre SSH-URL von:

[email protected]:USERNAME/REPOSITORY.git

zu:

https://github.com/USERNAME/REPOSITORY.git

Sie können Ihre HTTPS-URL auch von Ihrer GitHub-Repository-Startseite abrufen. Klicken Sie auf die Schaltfläche "Klonen oder Herunterladen" und klicken Sie auf "HTTPS verwenden", um die HTTPS-URL Ihres Repositorys anzuzeigen:

 enter image description here

UPDATE 2018-03-13

JetBrains hat kürzlich IntelliJ IDEA 2017.3.5 veröffentlicht, das den SSH-Zugriff auf GitHub - https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5-fix korrigiert -für-ssh-access-to-github/

40
Szymon Stepniak

in pyCharm,

file|
    v-->settings|
                v-->Version Control|
                                   v-->Git

Hier SSH executable von Built-in in Native ändern

dann apply und close drücken

13
  1. Gehen Sie zu Einstellungen-> Git-> Select Native in der Dropdownliste der ausführbaren SSH-Dateien. (Wenn nicht ausgewählt)
  2. Kopieren Sie den HTTPS-Link aus Ihrem Github-Repository.
  3. Gehen Sie zu VCS-> Git-> Remotes ..
  4. Bearbeiten Sie den Ursprungs- und Einfügen-HTTPS-Link im URL-Feld.
  5. Drücken Sie Ctrl+Shift+k, und verschieben Sie das Projekt in das Repository . Es funktioniert.
10

Ich habe dieses Problem gelöst, indem ich das Remote-Repository erneut hinzufügte: VCS -> Git -> Remotes.

9
Nikita

was @yabin ya sagt, ist eine coole Lösung, erinnern Sie sich einfach daran: Wenn Sie immer noch das gleiche Problem haben, gehen Sie zu Einstellungen-Versionskontrolle-GitHub und deaktivieren Sie den Clone git repositories using ssh.

5
XYz Amos

Sie müssen einen neuen SSH-Schlüssel generieren und ihn Ihrem ssh-agent hinzufügen. Dafür sollten Sie diesem link folgen.

Nachdem Sie den öffentlichen Schlüssel erstellt und Ihrem github-Konto hinzugefügt haben, sollten Sie die integrierte Option (nicht native) unter Einstellung -> Versionskontrolle -> Git -> SSH-ausführbare Datei in Ihrer Intellij Idea verwenden.

5
abshar

Wir haben kürzlich ein Update von IntelliJ 12 auf IntelliJ 14 Ultimate durchgeführt, und dieses Problem ist ebenfalls aufgetreten. Unsere Lösung bestand darin, den Proxy in den Einstellungen zu deaktivieren. Wir haben auch aufgehört, sich die Passwörter einmal zu merken, sind uns aber möglicherweise nicht sicher, ob dies hilft. Die Proxy-Einstellungen befinden sich unter Datei-Einstellungen-Anzeige- und Verhalten-Systemeinstellungen-HTTP-Proxy.

3
Koen de Roo

dies half mir, das aktuelle Problem zu beheben

Wenn Sie macOS Sierra 10.12.2 oder höher verwenden, müssen Sie Ihre ~/.ssh/config -Datei ändern, um Schlüssel automatisch in den ssh-agent zu laden und Passphrasen in Ihrem Schlüsselbund zu speichern.

Host *
 AddKeysToAgent yes
 UseKeychain yes
 IdentityFile ~/.ssh/id_rsa

Quelle

2
Jenya Kirmiza

Ich habe dieses Problem gelöst, indem ich das Passwort für den ssh-Schlüssel in PuTTY entfernt habe.

2
user3429738

Keine Lösung/Problemumgehung, aber vielleicht eine Antwort auf die Frage "Was könnte das Problem sein":

Gitlab und die 'jetbrains built in ssh library' funktionieren nicht gut zusammen. Die Bibliothek möchte einen SHA1-basierten Schlüsselaustausch-Algorithmus verwenden, wobei Gitlab (Standard) nur SHA2-basierte Schlüsselaustausch-Algorithmen zulässt. 

Dies wurde zumindest für TeamCity gemeldet ( https://youtrack.jetbrains.com/issue/TW-47704 ). 

Die Tatsache, dass dies möglicherweise auch die Ursache für Ihr Pull/Push-Problem in IntelliJ ist, und auch mein Push-Problem in PhpStorm beruht darauf, dass die Jetbrains von ASSUMPTION dieselbe "eingebaute Bibliothek" für ihre gesamte Software verwenden. 

1
ArjanW

Ich habe dieses Problem gelöst, indem ich meinen privaten SSH-Schlüssel dem ssh-agent im Befehl hinzufügte:

$ ssh-add -K ~/.ssh/id_rsa

Legen Sie Settings --> Version Control --> Git fest und wählen Sie dann in der Dropdown-Liste der ausführbaren SSH-Dateien Native aus.

Ich habe die Option Native ausprobiert, aber sie funktioniert bei mir nicht. Dann habe ich den SSH-Schlüssel auf alte Weise neu generiert und die Option -m im Befehl ssh-keygen hinzugefügt. auchIDEEfunktioniert mit der Option build-in genauso gut.

ssh-keygen -m PEM -t rsa -b 4096 -C "[email protected]"
0
Alireza Alallah

Ich habe alle oben genannten Lösungen ausprobiert (native, URL des VCS-Repository ändern, Git aktualisieren, IDEA aktualisieren, Caches ungültig machen), aber nichts half mir. Endlich habe ich eine Lösung gefunden, die für mich funktioniert. 

LÖSUNG: Ich habe Idea geschlossen und den Inhalt der Datei ~\.IntelliJIdea20xx.x\config\options\git.xml durch Folgendes ersetzt:

<application>
  <component name="Git.Application.Settings">
    <option name="SSH_EXECUTABLE" value="IDEA_SSH" />
  </component>
</application>

Dann habe ich IDEA gestartet und versucht, das SSH-GIT-Repository zu überprüfen. Es funktioniert und bestehende Projekte funktionieren ebenfalls. Interessante Tatsache ist, dass das Repository nicht funktioniert, wenn ich in den Ideeneinstellungen zu NATIVE wechsle.

0
user3231514

Wenn Sie die entfernte URL hinzufügen, ändern Sie diese

https://[email protected]/usernameowner/project-name.git

dazu

https://bitbucket.org/usernameowner/project-name.git

0
Marlon

Ich habe den Git-Pfad geändert und es hat funktioniert.

enter image description here

0
Smart Coder

Ich hatte dieses Problem mit einer Gabel aus einem Online-Kurs. Ich habe meine Gabel geklont und bin auf einen Berechtigungsfehler gestoßen. Ich konnte nicht verstehen, warum es darauf bestand, dass ich mein Benutzer aus meiner anderen Firma war. Wie bereits im vorherigen Kommentar erwähnt, hatte ich die Einstellung Clone git repositories using ssh überprüft und hatte vergessen, meinem neuen Konto einen ssh-Schlüssel hinzuzufügen. Also habe ich und konnte es immer noch nicht schieben, weil ich diesen Fehler bekam. Wie ich es gelöst habe, war Push mit dem Github Desktop-Client.

Zum Mitnehmen:

  1. Wenn Sie ein neues GitHub-Konto öffnen, fügen Sie diesem einen ssh-Schlüssel hinzu
  2. Verwenden Sie unterschiedliche SSH-Schlüssel für verschiedene Konten
  3. Im Allgemeinen stelle ich bei jedem IntelliJ mindestens einmal oder zweimal ein GitHub-Problem auf. Stellen Sie sicher, dass Sie eine Kopie des GitHub-Desktops haben, und laden Sie Ihre Projekte in den Desktop. Es kann und wird Ihnen bei vielen Problemen helfen, auf die Sie mit Intellij stoßen können - nicht nur auf diese. Es ist eigentlich ein wirklich schöner GUI-Client und kostenlos!
  4. Es ist wahrscheinlich sinnvoll, das zu tun, was @yabin vorschlägt, und den nativen Client auf einem Mac zu verwenden
0
Aron T

Ich hatte das gleiche Problem. Verwendete Bitbucket und hatte Probleme beim Abrufen/Aktualisieren des Repositorys auf Intellij. Versuchte, auf native zu wechseln und wieder eingebaut zu werden, aber es funktionierte nicht. Dann wurde mir klar, dass ich den SSH-Schlüssel mit einer Passphrase generiert hatte. 

Ich habe den Schlüssel ohne die Passphrase neu generiert und ihn dann dem Bitbucket hinzugefügt.

0
NullPointer

Nichts hat mir geholfen. Dann habe ich gesehen, dass sich der Name des Projekts auf dem Computer von dem Namen im git-Repository unterscheidet.

Also habe ich das Problem gelöst.

0
Phoelix Sky

Hinzufügen dieser Antwort, da keine der Antworten für mich funktionierte. 

Ich hatte Zertifikate ausgegeben - also folgte der Befehl dem Trick. 

git config --global http.sslVerify false

entnommen aus https://confluence.atlassian.com/fishkb/unable-to-clone-git-repository-due-to-self-signed-certificate-376838977.html

0
Gaurav

Ich habe das Problem gelöst, indem ich sicherstellte, dass ich die richtige git SSH-URL ohne Leerzeichen hatte:

[email protected]:USERNAME/REPOSITORY.git
0
Sugoi Reed

Das einzige, was in meinem Fall geholfen hat (SSH-ausführbare Datei funktioniert nicht), war das Deaktivieren von git und git-flow plugin.

0
Patrick Dorn

Dies behebte es für mich (ich verwende SSH, nicht HTTPS und das native Git, nicht das integrierte) unter MacOS High Sierra (10.13.5)/IntelliJ IDEA 2018.4

 File -> Invalidate Caches and Restart

0
connexo

Das Problem ist in meinem PC gelöst.
settings -> Versionskontrolle -> Git und dann in der Dropdown-Liste der ausführbaren SSH-Dateien die Option built-in auswählen. 

und installiere git ältere Version etwas wie 2.14.2 .
Es funktioniert gut!

0
Viral Nakrani

Wenn alles andere fehlschlägt, gehen Sie einfach zu Ihrem Terminal und geben Sie aus Ihrem Ordner ein:

git Push Origin master

So wollten die Götter es ursprünglich sein.

0
Wilmer E. Henao

Vergessen Sie nicht, sich an Ihren Systemadministrator zu wenden. 

In meinem Fall hatte ich alles richtig konfiguriert (auch SSH hinzugefügt), aber ich habe den gleichen Fehler erhalten

repository-Zugriff verweigert. fatal: Konnte nicht aus der Ferne gelesen werden Repository.

der Grund war, dass ich nur lesenden Zugriff auf dieses Repository hatte. Deshalb, ohne Ihre wertvolle Zeit zu verschwenden, überprüfen Sie dies als erstes. Vielen Dank.

0
Rahal Kanishka

Überprüfen Sie die Idea-Proxy-Einstellungen, wenn Sie versuchen, eine Verbindung zu Cloud-Diensten wie Github oder Bitbucket herzustellen. Dies kann durch Suchen nach zu installierenden Plugins oder durch Suchen nach Software-Updates im Menü help erfolgen. Wenn die Internet-/Proxy-Einstellungen nicht korrekt sind, fügen Sie gültige Einträge hinzu oder setzen Sie sie auf auto

0
binithb

Ich hatte dieses Problem vor kurzem mit WebStorm (Februar/2018) und keine der (damals) vorherigen Lösungen funktionierte für mich. Nachdem ich einige Stunden mit der Fehlerbehebung und Recherche verbracht hatte, installierte I die EAP-Version 2018 und jetzt funktioniert es! 


Ein neues issue berichtete am Dezember/2017 über das IntelliJ Idea> VCS/Git-Subsystem, das in Build 181.2445 (oder einem letzten Build nach dem 31. Januar 2017) behoben wurde.

Siehe auch post Update-ssh-key-to-use-new-passphrase

0
Ricardo