En ce moment je travaille sur un programme Java pour surveiller nos scripts UNIX. Le problème est que nous recevons un nouveau serveur la semaine prochaine et que je dois changer mon programme, afin qu'il puisse se connecter à la nouvelle machine, en utilisant JSch. Actuellement J'utilise ce moyen pour obtenir une connexion aux anciens serveurs:JSch - Problèmes avec session.connect()
JSch jsch = new JSch();
session = jsch.getSession(user, host);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.setTimeout(60000);
session.connect();
Lors du test sur le nouveau serveur, je suis le problème, qu'il arrêterait à session.connect()
et ne pas aller plus loin . Après quelques recherches que j'ai découvert, que la librairie JSch utilisait, était ancienne pour la nouvelle version d'OpenSSH du serveur, j'ai donc mis à jour mon JSch vers la version 0.1.54, mais même cela ne va pas tuer le problème. Actual J'essaie d'utiliser SSH-Keys pour cela, mais le problème est toujours le même, pas de stacktrace, rien. Voici le code réel j'essaie de faire courir:
String private_key = "path_to_file";
jsch.addIdentity(private_key);
session = jsch.getSession(user, host, 22);
session.setTimeout(60000);
session.connect();
clés:
SSH-2 RSA
Client:
JRE 1.8.0_112<br>
JSch 0.1.54
Serveur:
OpenSSH 7.2p2<br>
OpenSSL 1.0.2g
Avec cette configuration sur le serveur, il travaille:
OpenSSH 6.6.1p1
OpenSSL 1.0.1f
EDIT
Ajout
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
config.put("PreferredAuthentications", "password");
résolu le problème pour moi
au lieu d'ajouter la résolu dans la question ajoutez votre solution dans la réponse et marquer acceptée .. – Ali786
Merci, je vais marquer ma réponse demain, ne peut pas le faire maintenant. Et je garderai cela à l'esprit pour les questions futures. – StefanPG