Est-il possible d'établir une connexion SSH à un serveur avec Java?SSH Connexion Java
Répondre
Oui, j'ai utilisé http://sourceforge.net/projects/sshtools/ dans une application Java pour me connecter à un serveur UNIX via SSH, cela a très bien fonctionné.
Ok, je vais l'essayer :) thx – Benni
jsch et sshJ sont tous deux de bons clients. Personnellement, j'utiliserais sshJ car le code est documenté beaucoup plus complètement.
jsch a une utilisation répandue, y compris dans l'eclipse et l'apache ant. J'ai également eu des problèmes avec les clés privées cryptées jsch et AES, ce qui a nécessité un re-cryptage en 3DES, mais cela pourrait être juste moi.
ok la bibliothèque jsch a bien fonctionné et a été très facile à mettre en œuvre. Merci pour votre réponse. – Benni
Pour établir la connexion aux serveurs Java, vous avez besoin d'une implémentation de SSHD (le client ssh ne suffit pas). Vous pouvez essayer Apache SSHD,
Parce que sshd est déjà en cours d'exécution sur la plupart des systèmes, une alternative plus facile est de se connecter au serveur via un tunnel SSH.
Oui, c'est possible. Vous pouvez essayer le code suivant:
package mypackage;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import java.io.*;
public class SSHReadFile
{
public static void main(String args[])
{
String user = "user";
String password = "password";
String host = "yourhostname";
int port=22;
String remoteFile="/home/john/test.txt";
try
{
JSch jsch = new JSch();
Session session = jsch.getSession(user, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
System.out.println("Establishing Connection...");
session.connect();
System.out.println("Connection established.");
System.out.println("Crating SFTP Channel.");
ChannelSftp sftpChannel = (ChannelSftp) session.openChannel("sftp");
sftpChannel.connect();
System.out.println("SFTP Channel created.");
}
catch(Exception e){System.err.print(e);}
}
}
parfait. travaillé pour moi. –
Check [http://stackoverflow.com/questions/3071760/ssh-connection-with-java/9019095#9019095] – World
FWIW, je pris un coup d'œil sur les listés ci-dessous, et sshtools n'est disponible que sous licence GPL. (jsch est disponible sous BSD et sshJ est disponible sous Apache.) – Mickalot