git avec IntelliJ IDEA: Impossible de lire à partir du repository distant

Depuis quelques semaines, je ne peux plus tirer ou pousser depuis le référentiel distant. Je pensais que cela se produirait lors de la mise à niveau vers IntelliJ IDEA 14, mais je peux également reproduire le problème avec IDEA 13.1.5.

L’info-bulle indique “Récupération échouée: Impossible de lire depuis le référentiel distant”.

et l’exception dans l’onglet Contrôle de version lit

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.sortinglead.ssh2.signature.RSASHA1Verify.decodeSSHRSAPublicKey(RSASHA1Verify.java:37) at com.sortinglead.ssh2.KnownHosts.addHostkey(KnownHosts.java:98) at com.sortinglead.ssh2.KnownHosts.initialize(KnownHosts.java:414) at com.sortinglead.ssh2.KnownHosts.initialize(KnownHosts.java:440) at com.sortinglead.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, exécuter git -c core.quotepath=false fetch origin --progress --prune , cela fonctionne comme il se doit.

D’après le stacktrace, il semble y avoir un problème avec mes KnownHosts , alors j’ai supprimé notre serveur git de ~/.ssh/known_hosts , en espérant ~/.ssh/known_hosts . Mais le problème persiste lors de la mise à jour via l’interface utilisateur et aucune nouvelle entrée n’a été écrite dans known_hosts ; En pensant à la mise en cache du fichier, j’ai redémarré IntelliJ sans succès.

Lorsque vous effectuez une autre git fetch depuis le terminal, on me demande maintenant si je veux append le serveur de manière permanente. Après cela, il a de nouveau été écrit sur known_hosts , mais IntelliJ ne me laisse 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 d’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 at-il une idée de ce qui pourrait être le problème ici?

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

Contrôle de version: Git: exécutable SSH: pour le projet en cours

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

Accédez à Préférences> Contrôle de version> Git. Assurez-vous que l’exécutable SSH est défini sur «Native» (si c’est déjà le cas, passez à «Built-in», appliquez-le, puis revenez à «Native»).

Si cela ne résout pas votre problème, je suggère de télécharger un client Git tel que le client GitHub (application de bureau gratuite) et d’essayer de synchroniser votre projet via l’application. Revenez ensuite à IntelliJ et vérifiez si cela fonctionne.

J’ai commencé à Could not read from remote repository erreur de Could not read from remote repository lors de l’utilisation de mon repository github . Mes spécifications:

  • IntelliJ IDEA 2017.3.4 (Ultimate Edition)
  • Paramètres -> Contrôle de version -> Git -> Exécutable SSH -> Intégré
  • Fedora Linux

entrer la description de l'image ici

Bien sûr, ces problèmes ne sont apparus que lorsque vous tentiez de pousser / tirer / récupérer, etc. depuis l’IDE – l’exécution des mêmes commandes à partir de la ligne de commande fonctionnait comme un charme.

Solution qui a fonctionné pour moi

Je ne voulais pas passer de l’exécutable SSH Built-In à Native , principalement parce que mon client SSH natif me demandait le mot de passe chaque fois que j’essayais de me synchroniser avec un référentiel distant.

J’ai résolu ce problème en passant 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 .

Modification de l’URL distante de SSH à HTTPS

Dans IntelliJ IDEA, accédez à VCS -> Git -> Remotes … , sélectionnez la ligne contenant “origine” et cliquez sur le bouton Modifier. Si vous hébergez votre référentiel sur GitHub, remplacez votre URL SSH par:

 git@github.com:USERNAME/REPOSITORY.git 

à:

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

Vous pouvez également obtenir votre URL HTTPS à partir de la page d’accueil de votre référentiel GitHub – cliquez sur le bouton “Cloner ou télécharger” et cliquez sur le lien “Utiliser HTTPS” pour afficher l’URL HTTPS de votre référentiel:

entrer la description de l'image ici

MISE À JOUR 2018-03-13

JetBrains vient de publier IntelliJ IDEA 2017.3.5 qui inclut un correctif pour l’access SSH à GitHub – https://blog.jetbrains.com/idea/2018/03/intellij-idea-2017-3-5-fix-for-ssh-access -à-github /

Le client SSH intégré à IntelliJ semble hacher ses known_hosts , mais celui dont j’avais les noms d’hôte en texte clair.

Lorsque j’ai supprimé le fichier et laissé IntelliJ en créer un nouveau, avec uniquement mon serveur GitLab (haché) et rien d’autre, cela a fonctionné.

Il n’est pas possible non plus de le mélanger – conservez quelques entrées non assorties avec des entrées hachées pour IntelliJ. Vous devez donc configurer vos autres clients SSH pour utiliser des hôtes hachés .

à pyCharm,

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

Changer l’ SSH executable de Built-in Native en Native

puis appuyez sur apply et close

J’ai résolu ce problème en rajoutant le repository distant: VCS -> Git -> Remotes.

Ce que dit @yabin ya est une bonne solution, rappelez-vous simplement que: si vous rencontrez toujours le même problème, allez à Settings-Version Control-GitHub et décochez les Clone git repositories using ssh .

Vous devez générer une nouvelle clé SSH et l’append à votre agent ssh. Pour que vous deviez suivre ce lien .

Une fois la clé publique créée et ajoutée à votre compte github, vous devez utiliser l’option Built-in (non native) sous Setting-> Version Control -> Git -> SSH exécutable dans votre Intellij Idea.

Nous avons récemment mis à jour IntelliJ 12 à IntelliJ 14 Ultimate et nous avons également rencontré ce problème. Notre solution était de désactiver le proxy dans les parameters. Nous avons également cessé de nous souvenir des mots de passe une fois, mais nous ne sums pas certains que cela les aide. Les parameters de proxy se trouvent sous Paramètres de fichier – Apparence et comportement – Paramètres système – Proxy HTTP.

  1. Accédez à Paramètres-> Git-> Sélectionner le code natif dans l’exécutable SSH. (S’il n’est pas sélectionné)
  2. Copiez le lien HTTPS de votre référentiel Github.
  3. Aller à VCS-> Git-> Remotes ..
  4. Modifiez le lien d’origine et de collage HTTPS dans le champ URL.
  5. Appuyez sur Ctrl+Shift+k et poussez le projet dans le référentiel. Ça marche.

cela m’a aidé à résoudre le problème actuel

Si vous utilisez macOS Sierra 10.12.2 ou une version ultérieure, vous devrez modifier votre fichier ~ / .ssh / config pour charger automatiquement les clés dans ssh-agent et stocker les phrases secrètes dans votre trousseau.

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

la source

Pas une solution / solution de contournement mais peut-être une réponse à la question «Qu’est-ce qui 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 où gitlab (par défaut) n’autorise que l’algorithme d’échange de clés basé sur SHA2.

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

Le fait que cela puisse également être la cause de votre problème de pull / push dans IntelliJ, ainsi que de mon problème de base dans PhpStorm est basé sur la méthode ASSUMPTION qui utilise la même «bibliothèque intégrée» pour tous leurs logiciels.

J’ai résolu ce problème en supprimant le mot de passe de la clé ssh dans PuTTY.

J’ai eu ce problème avec une fourchette de cours en ligne. J’ai cloné mon fork et rencontré une erreur d’autorisation. Je ne pouvais pas comprendre pourquoi il insistait pour que je sois mon utilisateur de mon autre entreprise. Mais comme l’a dit le commentateur précédent, les Clone git repositories using ssh étaient Clone git repositories using ssh configuration de Clone git repositories using ssh et j’avais oublié d’append une clé ssh à mon nouveau compte. Donc je l’ai fait et je n’ai toujours pas pu pousser parce que j’ai eu cette erreur. La façon dont j’ai résolu était de pousser en utilisant le client Github Desktop.

Plats à emporter:

  1. Lorsque vous ouvrez un nouveau compte GitHub, assurez-vous d’y append une clé ssh
  2. Utilisez 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 du bureau GitHub et d’y charger vos projets. Il peut et va vous aider avec beaucoup de problèmes que vous pouvez rencontrer avec Intellij – pas seulement celui-ci. C’est en fait un très bon client graphique et gratuit!
  4. Il est probablement logique de faire ce que @yabin suggère et d’utiliser le client natif sur un Mac

La seule chose qui a aidé dans mon cas (le changement de SSH-executabe ne fonctionnait pas) était de désactiver le plugin git et git-flow, de redémarrer intellij et de réactiver ces plugins …

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

Parce que dans mon cas, j’ai tout configuré correctement (SSH a également ajouté) mais j’ai eu la même erreur

Accès au référentiel refusé. fatal: Impossible de lire à partir du référentiel distant.

la raison était que je n’avais qu’un access en lecture à ce référentiel. Par conséquent, sans perdre votre temps précieux, veuillez vérifier cela comme première chose. Je vous remercie.

Si tout le rest échoue, allez simplement sur votre terminal et tapez depuis votre dossier:

 git push origin master 

C’est comme ça que les dieux le voulaient à l’origine.

J’ai eu ce problème avec WebStorm récemment ( février / 2018 ) et aucune des solutions précédentes n’a fonctionné pour moi. Après quelques heures consacrées au dépannage et à la recherche, j’ai installé la version 2018 EAP et maintenant ça marche!


Un nouveau numéro a été publié en décembre 2017 sur le sous-système IntelliJ Idea> VCS / Git qui a été corrigé dans la version 181.2445 (ou toute dernière version après le 31 janvier 2018).

Voir aussi le post Update-ssh-key-to-use-new-passphrase

Le problème est résolu dans mon pc.
parameters -> Version Control -> Git , puis, dans la liste déroulante des exécutables SSH, sélectionnez l’option intégrée .

et installer la version plus ancienne de git quelque chose comme 2.14.2 .
Ca marche bien!

Vérifiez les parameters de proxy Idée si vous essayez de vous connecter à des services cloud tels que github ou bitbucket. Cela peut être fait en recherchant des plug-ins à installer ou en vérifiant les mises à jour logicielles dans le menu d’ help . Si les parameters Internet / proxy ne sont pas corrects, ajoutez des entrées valides ou réglez-le auto

Cela a été corrigé pour moi (j’utilise SSH, pas HTTPS, et le git natif, pas le intégré) sur MacOS High Sierra (10.13.5) / IntelliJ IDEA 2018.4:

Fichier -/> Invalider les caches et redémarrer”> </p>
</div>
</li><!-- #comment-## -->
<div class=

Assurez-vous que vous avez modifié le lien vers le référentiel git vers l’option HTTPS après avoir sélectionné “Native” dans les parameters IntelliJ si SSH ne fonctionne pas.