Ist es möglich, eine SSH-Verbindung zu einem Server mit Java zu machen?SSH-Verbindung Java
Antwort
Ja, ich habe http://sourceforge.net/projects/sshtools/ in einer Java-Anwendung verwendet, um eine Verbindung zu einem UNIX-Server über SSH herzustellen, es funktionierte ziemlich gut.
Ok ich werde es versuchen :) thx – Benni
jsch und sshJ sind beide gute Kunden. Ich würde persönlich sshJ verwenden, da der Code viel gründlicher dokumentiert ist.
Jsch hat weit verbreitete Verwendung, einschließlich in Eclipse und Apache Ameise. Ich hatte auch Probleme mit JSCH- und AES-verschlüsselten privaten Schlüsseln, die in 3DES neu verschlüsselt werden mussten, aber das könnte nur ich sein.
ok die jsch-Bibliothek hat gut funktioniert und war sehr einfach zu implementieren. Vielen Dank für Ihre Antwort. – Benni
Um eine Verbindung zu Java-Servern herzustellen, benötigen Sie eine Implementierung von SSHD (ssh-Client ist nicht genug). Apache SSHD Sie können versuchen,
Da sshd bereits läuft auf den meisten Systemen, eine einfachere Alternative ist mit dem Server über einen SSH-Tunnel zu verbinden.
Ja, es ist möglich. Sie können den folgenden Code versuchen:
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);}
}
}
perfekt. hat für mich gearbeitet. –
- 1. Java-Prozessabsturz - Java-Finalizer
- 2. fülle java Pane - JAVA
- 3. - JAVA
- 4. Android-java vs PC-Java
- 5. JAVA - LString Java, verknüpfte Strings
- 6. Java-Getter aktivieren Java-Getter
- 7. Unterschied zwischen Java und Java
- 8. Java-Streams in Java 7
- 9. die gleiche Geschwindigkeit wie Java von Java
- 10. Java SE eingebettet und Java ME
- 11. Messzeit in Java JNI (nativer Aufruf Java)
- 12. MongoDB Java - Abfrage auf mongodb Java-Treiber
- 13. Java zu XSD oder XSD zu Java
- 14. Richtig: Java "Enterprise" Edition = Java "Internet" Edition?
- 15. java -javaagent: Druck Befehl java Verwendung Richtlinien
- 16. Java: Methoden wie ord PHP in Java
- 17. wie SAML sso mit Java, Java EE
- 18. Datei .java aus einem Java-Programm kompilieren?
- 19. Java-Funktionen in Java serialisieren 8
- 20. Kompilieren von externen .java-Dateien aus Java
- 21. Rahmen Java-Systemeigenschaften auf eine Java-Anwendung
- 22. Java-Code Ausführen von innen Java
- 23. Java Klassenname, der mit Java beginnt
- 24. Java-Programm mit Java beenden Ergebnis: 137
- 25. Java: Java-Quellcode analysieren, Methoden extrahieren
- 26. Convert Java Servlet in Standalone-Java-Anwendung
- 27. Java instanziiert Short-Objekt in Java
- 28. Java 32bit Xmx vs Java 64bit Xmx
- 29. Java-Code zum Umbenennen von Java-Paketen
- 30. Java 8 Leistung VS. Java 7
Check [http://stackoverflow.com/questions/3071760/ssh-connection-with-java/9019095#9019095] – World
FWIW, nahm ich einen kurzen Blick auf die, die unten aufgeführt, und sshtools ist nur unter einer GPL-Lizenz verfügbar. (jsch ist verfügbar unter BSD und sshJ ist verfügbar unter Apache.) – Mickalot