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?
26 réponses
settings-->Version Control-->Git
, et puis, dans la liste déroulante des exécutables SSH, choisissez Native
si cela ne vous aide pas, assurez-vous que vos clients natifs ssh
et git
sont une version suffisamment récente.
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.
j'ai commencé à avoir une erreur Could not read from remote repository
récemment en travaillant avec mon dépôt github . Mes spécifications:
- IntelliJ IDEA 2017.3.4 (Ultimate Edition)
- Paramètres - > Contrôle De Version - > Git - > SSH exécutable- > intégré
- Fedora Linux
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:
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 /
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 .
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
j'ai résolu ce problème en ré-ajoutant le dépôt distant: VCS -> Git -> Remotes.
- Allez dans Paramètres->Git->Sélectionnez Natif en SSH exécutable liste déroulante. (Si elle n'est pas sélectionnée)
- copie le lien HTTPS de votre dépôt Github.
- allez à VCS->Git->Remotes..
- modifier le lien origine et coller HTTPS dans le champ URL.
- presser
Ctrl+Shift+k
et pousser le projet au dépôt. Elle fonctionne.
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
.
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.
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.
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
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.
j'ai résolu ce problème en retirant le mot de passe pour la clé ssh dans PuTTY.
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.
- Lorsque vous ouvrez un nouveau compte GitHub assurez-vous d'ajouter une clé ssh
- utiliser différentes clés ssh pour différents comptes
- 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!
- 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 (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...
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.
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.
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
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!
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
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:
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
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
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.
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.
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.