Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

JEdit problème connexion SFTP

De AJLSM
Aller à la navigation Aller à la recherche

jEdit : http://www.jedit.org/ est un éditeur de texte pour programmeurs disponibles sous GNU GPL.

Il est écrit en Java et tourne sous Mac OS X, Windows, Linux et de nombreux autres systèmes d'exploitation.

Il existe des dizaines de plugins qui ont des fonctionnalités très variées: de la gestion de projet à l'exécution de commandes.

Problème de connexion SFTP

[modifier | modifier le wikicode]

L'éditeur de texte populaire jEdit, associé à son plugin FTP, permet aux utilisateurs de modifier des fichiers distants via une connexion sécurisée via SFTP.

Cependant, ce plugin et au moins une de ses dépendances ont passé plusieurs années sans mises à jour. Sous certaines configurations de serveur SSH "renforcé" modernes, le plugin FTP de jEdit n'est plus capable de se connecter, car il ne prend pas en charge la combinaison de clés ou de chiffrements utilisés par le serveur SSH distant.

Si la connexion ssh vers l'hôte distant fonctionne (et ne renvoie pas l'erreur ci-dessous), le problème vient de jEdit.

Notice :
Si la connexion ssh renvoie l'erreur ci-dessous, le problème vient de JAVA (versions antérieures à 9) et des fichiers de sécurity : US_export_policy.jar et local_policy.jar. Pour JAVA 8, il faut mettre à jour ces fichiers en téléchargeant jce_policy-8.zip (Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8) : https://www.oracle.com/java/technologies/javase-jce8-downloads.html. Exite aussi pour les versions 5, 6 et 7 de Java.

Typiquement, lors d'une connexion vers un serveur SSH "renforcé", le message d'erreur suivant s'affiche :

com.jcraft.JSch.JSchException: Algorithm negotiation fail

Cela est dû à bibliothèque JSch obsolète de JCraft.

Les solutions suivantes sont issues du tutoriel suivant : https://shaunc.com/blog/article/using-jedits-ftp-plugin-with-hardened-ssh-server-configurations~OzCYZdDm1gZN

Voici un rapide tuto de ce qu'il faut modifier sur MacOs :

  1. Quittez jEdit,
  2. Téléchargez la bibliothèque la plus récente de JSch (forkée par Matthias Wiedemann) : https://mavenlibs.com/jar/file/com.github.mwiede/jsch .
  3. Téléchargez la dernière librairie Bouncy Castle : bcprov-jdk18on-xxx.jar, pour Java 1.8 et supérieur : https://www.bouncycastle.org/latest_releases.html (SIGNED JAR FILES),
  4. Renommez le fichier jsch-x.x.x.jar en jsch.jar
  5. Aller dans ~/Library/jEdit/jars et supprimez jsch.jar puis placez les 2 jars téléchargés : jsch.jar et bcprov-jdk18on-xxx.jar
  6. Aller dans ~/Library/jEdit/jars-cache et supprimez jsch.jar.summary
  7. Redémarrez jEdit et lancez une connexion SFTP

Autre erreurs possibles

[modifier | modifier le wikicode]
java.io.IOException: com.jcraft.jsch.JSchException: failed to send channel request

La plupart du temps, cela veut dire que le sous-système SFTP du serveur distant n'est pas activé.

Demandez son activation.

com.jcraft.jsch.JSchException: timeout: socket is not established

La plupart du temps, le timeout du serveur distant est trop petit.

Demandez de l'augmenter.