ssh2 pure libreria jcraft example java ssh connection

java - pure - libreria jcraft



Conexión SSH con Java (7)

Debe usar una biblioteca de terceros. JSch es uno de ellos. Google con " Java ssh " y obtendrá muchas otras opciones.

¿Cómo puedo conectarme a un servidor SSH en Java? No necesito / quiero un caparazón. Solo quiero conectarme al servidor SSH y obtener el contenido de, digamos, file.txt . ¿Cómo puedo hacer eso?



Java no lo admite de forma nativa, pero puede usar una biblioteca como JSch para hacerlo


Puede verificar JSSH , que es una biblioteca Java SSH.


Usé esto y funcionó para mí

Channel channel=session.openChannel("exec"); String command = "Your Command here"; ((ChannelExec)channel).setCommand(command); InputStream in=channel.getInputStream(); ((ChannelExec)channel).setErrStream(System.err); channel.connect();


Use JSch

import com.jcraft.jsch.*; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Scanner; /** * @author World */ public class SSHReadFile { public static void main(String args[]) { String user = "john"; String password = "mypassword"; String host = "192.168.100.23"; 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."); InputStream inputStream = sftpChannel.get(remoteFile); try (Scanner scanner = new Scanner(new InputStreamReader(inputStream))) { while (scanner.hasNextLine()) { String line = scanner.nextLine(); System.out.println(line); } } } catch (JSchException | SftpException e) { e.printStackTrace(); } } }

salida:

Establishing Connection... Connection established. Crating SFTP Channel. SFTP Channel created. This is content from file /home/john/test.txt