git avec IntelliJ idée: ne pouvait pas lire depuis un dépôt distant

depuis quelques semaines, Je ne suis plus capable de tirer ou pousser depuis ou vers le dépôt distant. J'ai pensé qu'il se produit lors de la mise à niveau à IntelliJ idée 14, Mais je peux reproduire le problème avec L'idée 13.1.5 aussi bien.

dit l'infobulle "Chercher de l'échec fatal: impossible de lire depuis un dépôt distant."

et l'exception dans L'onglet de contrôle de Version se lit

14:02:37.737: cd C:devproject
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.

en utilisant le terminal intégré D'IntelliJ, l'exécution git -c core.quotepath=false fetch origin --progress --prune , ça marche comme il faut.

selon le stacktrace, il semble y avoir un problème avec mon KnownHosts , donc j'ai supprimé notre serveur git de ~/.ssh/known_hosts , en espérant que IntelliJ l'insérerait à nouveau. Mais le problème apparaît toujours lors de la mise à jour via L'UI, et il n'y a pas de nouvelle entrée écrite dans known_hosts ; en pensant à une certaine mise en cache du fichier, J'ai redémarré IntelliJ, sans succès.

en faisant un autre git fetch de la terminal, maintenant on me demande si je veux ajouter définitivement le serveur. Après cela, il a été écrit à known_hosts à nouveau, mais IntelliJ ne me laissera toujours pas mettre à jour mon projet.

Je n'ai rien trouvé sur ce comportement en ligne, donc je suppose que ce n'est pas un bug connu avec la nouvelle version IntelliJ. Néanmoins, j'ai mis à jour à 14.0.2, mais le problème existe toujours.

IntelliJ est configuré pour utiliser l'exécutable SSH intégré.

quelqu'un sait-il quel pourrait être le problème?

217
demandé sur stuXnet 2014-12-19 16:18:49

26 réponses

settings-->Version Control-->Git , et puis, dans la liste déroulante des exécutables SSH, choisissez Native

Version Control: Git: SSH executable: For current project

si cela ne vous aide pas, assurez-vous que vos clients natifs ssh et git sont une version suffisamment récente.

642
répondu yabin ya 2018-03-28 12:41:51

aller à préférences > Contrôle De Version > Git. Assurez-vous que l'exécutable SSH est défini à "natif."(Si c'est déjà le cas, passez à" Intégré", appliquez-le, puis revenez à "natif".").

si cela ne résout pas votre problème, je vous suggère de télécharger un client Git tel que le client GitHub (free desktop app) et d'essayer de synchroniser votre projet à travers l'application. Ensuite, retournez à IntelliJ et vérifiez si cela fonctionne.

68
répondu Farbod 2016-11-22 14:52:41

j'ai commencé à avoir une erreur Could not read from remote repository récemment en travaillant avec mon dépôt . Mes spécifications:

  • IntelliJ IDEA 2017.3.4 (Ultimate Edition)
  • Paramètres - > Contrôle De Version - > Git - > SSH exécutable- > intégré
  • Fedora Linux

enter image description here

bien sûr, ces problèmes ne se sont produits qu'en essayant de push/pull / fetch etc. depuis IDE - exécuter les mêmes commandes depuis la ligne de commande a fonctionné comme un charme.

Solution qui a fonctionné pour moi

Je ne voulais pas passer de Built-In exécutable SSH à Native , principalement parce que mon client SSH natif me demande le mot de passe à chaque fois que j'essaie de me synchroniser avec un dépôt distant.

j'ai résolu ce problème par commutation de L'URL distante SSH à L'URL HTTPS. Selon cette page d'aide GitHub - , il est recommandé d'utiliser L'URL HTTPS au lieu de SSH one .

changer L'URL distante de SSH en HTTPS

Dans IntelliJ IDEA aller à VCS -> Git -> Télécommandes... , sélectionnez la ligne contenant "origine" et cliquez sur le bouton modifier. Si vous hébergez votre dépôt sur GitHub, remplacez votre URL SSH de:

git@github.com:USERNAME/REPOSITORY.git

à:

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

vous pouvez aussi obtenir votre URL HTTPS à partir de la page d'accueil de votre dépôt GitHub - cliquez sur le bouton "Cloner ou télécharger" et cliquez sur le lien" Use HTTPS "pour afficher l'URL HTTPS de votre dépôt:

enter image description here

mise à jour 2018-03-13

JetBrains vient de sortir IntelliJ IDEA 2017.3.5 qui comprend un correctif pour l'accès SSH à GitHub - https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5-fix-for-ssh-access-to-github /

32
répondu Szymon Stepniak 2018-03-14 08:37:14

le client SSH intégré D'IntelliJ semble hachez son known_hosts , mais celui que j'avais eu ses noms d'hôte en texte clair.

quand J'ai supprimé le fichier et laissé IntelliJ en créer un nouveau, avec seulement mon serveur GitLab (hashé) et rien d'autre, ça a marché.

il est également impossible de le mélanger - garder quelques entrées non hachées avec des entrées hachées pour IntelliJ. Donc, vous devez configurer vos autres clients SSH pour utiliser haché hôtes .

18
répondu stuXnet 2018-02-22 19:21:06

dans pyCharm,

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

ici, remplacer SSH executable de Built-in par Native

puis appuyez sur apply et close

12
répondu Mohideen ibn Mohammed 2018-04-18 05:26:39

j'ai résolu ce problème en ré-ajoutant le dépôt distant: VCS -> Git -> Remotes.

9
répondu Nikita 2017-09-17 19:18:01
  1. Allez dans Paramètres->Git->Sélectionnez Natif en SSH exécutable liste déroulante. (Si elle n'est pas sélectionnée)
  2. copie le lien HTTPS de votre dépôt Github.
  3. allez à VCS->Git->Remotes..
  4. modifier le lien origine et coller HTTPS dans le champ URL.
  5. presser Ctrl+Shift+k et pousser le projet au dépôt. Elle fonctionne.
6
répondu Sarvesh Athawale 2018-05-16 16:00:38

ce que @yabin ya dit est une solution cool,il suffit de vous rappeler que: si vous obtenez toujours le même problème, aller à Paramètres-Version Control-GitHub et décocher le Clone git repositories using ssh .

5
répondu XYz Amos 2016-09-19 03:26:20

vous devez générer une nouvelle clé SSH et l'ajouter à votre agent ssh. Pour cela, vous devez suivre ce lien .

après avoir créé la clé publique et l'avoir ajoutée à votre compte github, vous devez utiliser L'option intégrée (non Native) sous Paramètres-> Contrôle De Version - > git - > exécutable SSH dans votre idée Intellij.

5
répondu abshar 2017-01-23 07:50:45

nous avons récemment mis à jour de IntelliJ 12 à IntelliJ 14 Ultimate et nous avons rencontré ce problème aussi. Notre solution était de désactiver le proxy dans les paramètres. Nous avons également cessé de nous souvenir des mots de passe une fois, mais peut-être pas sûr si cela aide. Les paramètres de Proxy sont sous Fichier-Settings-apparition & Behavior-system settings-Proxy HTTP.

3
répondu Koen de Roo 2015-05-28 13:55:06

cela m'a aidé à corriger problème actuel

si vous utilisez macOS Sierra 10.12.2 ou plus tard, vous devrez modifier votre ~/.fichier SSH / config pour charger automatiquement les clés dans l'agent ssh et stocker les mots de passe dans votre porte-clés.

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

source

2
répondu Jenya Kirmiza 2018-03-03 16:08:12

n'est Pas une solution, mais peut-être une réponse à la question "quel pourrait être le problème":

Gitlab et les "jetbrains construits dans la bibliothèque ssh" ne fonctionnent pas bien ensemble. La bibliothèque veut utiliser L'algorithme D'échange de clés basé sur SHA1 alors que gitlab (par défaut) n'autorise que les algorithmes D'échange de clés basés sur SHA2.

cela a été rapporté pour au moins TeamCity ( https://youtrack.jetbrains.com/issue/TW-47704 ).

le fait qu'il pourrait également être la cause de votre pull/push problème dans IntelliJ, et aussi mon push-problème dans PhpStorm est basé sur l'hypothèse jetbrains utiliser la même 'bibliothèque intégrée' pour tous leurs logiciels.

1
répondu ArjanW 2017-02-20 14:09:29

j'ai résolu ce problème en retirant le mot de passe pour la clé ssh dans PuTTY.

1
répondu user3429738 2018-02-08 09:28:15

j'ai eu ce problème avec une fourchette d'un cours en ligne. J'ai cloné ma fourchette et j'ai rencontré une erreur de permissions. Je ne comprenais pas pourquoi il a insisté pour que je sois mon utilisateur de mon autre compagnie. Mais comme l'a mentionné le commentateur précédent, j'ai fait Vérifier le paramètre Clone git repositories using ssh et j'ai oublié d'ajouter une clé ssh à mon nouveau compte. Donc je l'ai fait et je n'ai pas pu pousser parce que j'ai eu cette erreur. La façon dont je l'ai résolu était de pousser en utilisant le client de bureau Github.

  1. Lorsque vous ouvrez un nouveau compte GitHub assurez-vous d'ajouter une clé ssh
  2. utiliser différentes clés ssh pour différents comptes
  3. en général, je rencontre un problème GitHub sur IntelliJ au moins une ou deux fois pour chaque projet. Assurez-vous d'avoir une copie de GitHub desktop et chargez vos projets dedans. Il peut et va vous aider à beaucoup de problèmes que vous pourriez rencontrer avec Intellij - pas seulement celui. C'est en fait un client GUI vraiment agréable et gratuit!
  4. il est probablement logique de faire ce que @yabin suggère et d'utiliser le client natif sur un Mac
0
répondu Aron T 2016-12-22 01:16:28

la seule chose qui a aidé dans mon cas (switch SSH-executabe n'a pas fonctionné) a été de désactiver le plugin Git et git-flow, redémarrer intellij et réactiver ces plugins à nouveau...

0
répondu PaMaDo 2017-05-29 14:39:39

N'oubliez pas de contacter votre administrateur système.

parce que dans mon cas j'avais tout correctement configuré (SSH a aussi ajouté) mais j'ai eu la même erreur

accès au dépôt refusé. fatal: ne pouvait pas lire à distance référentiel.

la raison était que je n'avais accès qu'en lecture à ce dépôt. Donc avec de gaspiller votre temps précieux veuillez vérifier que la première chose. Merci vous.

0
répondu Rahal Kanishka 2017-07-10 10:25:38

si tout le reste échoue allez simplement à votre terminal et tapez à partir de votre dossier:

git push origin master

C'est ce que les dieux voulaient qu'il soit.

0
répondu Wilmer E. Henao 2018-02-28 22:20:14

j'ai eu ce problème avec WebStorm récemment ( février/2018 ) et aucune des solutions précédentes (alors) ne fonctionnait pour moi. Après avoir passé quelques heures sur le dépannage et la recherche, j'ai installé la version 2018 EAP et maintenant il fonctionne!


"151900920 Une" nouvelle problème , a rapporté sur décembre/2017 sur IntelliJ Idea > VCS/Git sous-système qui a été fixé dans construire 181.2445 (ou toute autre construction postérieure au 31 janvier 2018).

Voir aussi le post mise à Jour-clé ssh à utiliser-nouvelle-passphrase

0
répondu Ricardo 2018-03-01 00:03:08

Le problème est résolu dans mon pc.

Paramètres-->Contrôle De Version-->Git , puis, dans la liste déroulante des exécutables SSH, sélectionnez option intégrée .

et installer la version plus ancienne de git quelque chose comme 2.14.2 .

Sa fonctionne bien!

0
répondu Viral Nakrani 2018-04-09 09:22:20

vérifiez les paramètres idea proxy si vous essayez de vous connecter à des services cloud comme GitHub ou bitbucket. Cela peut être fait en recherchant des plugins à installer ou en vérifiant les mises à jour du logiciel dans le menu help . Si les paramètres internet/proxy ne sont pas corrects, ajouter des entrées valides ou les définir à auto

0
répondu binithb 2018-05-02 09:38:38

cela l'a fixé pour moi (j'utilise SSH, pas HTTPS, et le git natif, pas le git intégré) sur MacOS High Sierra (10.13.5) / IntelliJ IDEA 2018.4:

File - Invalidate Caches and Restart

0
répondu connexo 2018-06-13 10:12:47

j'ai résolu le problème simplement en m'assurant que j'avais l'url gitsh correcte sans aucun espace de fuite:

git@github.com:USERNAME/REPOSITORY.git
0
répondu Sugoi Reed 2018-09-10 10:59:09

ajoutant cette réponse puisqu'aucune des réponses n'a fonctionné pour moi.

j'ai eu des certificats d'émission - donc la commande suivante a fait le tour.

git config -- global http.sslVerify false

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

0
répondu Gaurav 2018-09-12 02:52:28

rien ne m'a aidé. Puis j'ai vu que le nom du projet sur l'ordinateur est différent du nom sur le dépôt git.

alors j'ai résolu le problème.

0
répondu Phoelix Sky 2018-09-29 20:19:38

j'ai essayé toutes les solutions ci-dessus (natif, changer l'url du dépôt VCS, mettre à jour Git, mettre à jour IDEA, invalider les Caches), mais rien ne m'a aidé. Finalement j'ai trouvé la solution qui fonctionne pour moi.

SOLUTION: j'ai fermé L'idée et remplacé le contenu du dossier ~\.IntelliJIdea20xx.x\config\options\git.xml par ceci:

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

puis J'ai commencé idée, essayer de vérifier SSH dépôt GIT et il fonctionne et les projets existants fonctionne aussi bien. Fait intéressant est que lorsque je passe à Natif dans les paramètres D'idée, le dépôt ne fonctionne pas.

0
répondu user3231514 2018-10-02 06:17:16

s'assurer que vous avez changé le lien vers le dépôt git vers l'option HTTPS après avoir sélectionné" Native "dans les paramètres IntelliJ si SSH ne fonctionne pas.

-1
répondu SilverK 2018-03-06 08:12:55