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?
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.
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.
Ich habe kürzlich mit dem Could not read from remote repository
-Fehler angefangen, als ich mit meinem Repository " github " arbeitete. Meine Angaben:
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.
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 .
SSH
in HTTPS
ändernGehen 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:
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/
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
Ctrl+Shift+k
, und verschieben Sie das Projekt in das Repository . Es funktioniert.Ich habe dieses Problem gelöst, indem ich das Remote-Repository erneut hinzufügte: VCS -> Git -> Remotes.
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
.
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.
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.
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
Ich habe dieses Problem gelöst, indem ich das Passwort für den ssh-Schlüssel in PuTTY entfernt habe.
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.
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]"
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.
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
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:
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.
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.
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
Ich habe das Problem gelöst, indem ich sicherstellte, dass ich die richtige git SSH-URL ohne Leerzeichen hatte:
[email protected]:USERNAME/REPOSITORY.git
Das einzige, was in meinem Fall geholfen hat (SSH-ausführbare Datei funktioniert nicht), war das Deaktivieren von git und git-flow plugin.
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!
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.
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.
Ü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
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