Anteriormente vimos como descargar ficheros por SFTP, ahora veremos algo semejante. Como podemos iniciar sesión y ejecutar comando Shell en otra PC gracias al protocolo SSH (Secure SHell). Así como muchos ya lo habíamos hecho con el clásico PuTTY para Windows. Para esto del lado servidor debe estar habilitada esta opción o no funcionará, podemos ver en otro tópico más adelante como instalarlo.
Así como ya lo venia diciendo en el ejemplo anterior, nuevamente vamos a necesitar de la librería JSch. Bueno mejor vamos con el destroce:
Imports requeridos:
1 2 3 4 5 | import java.util.Properties; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; |
El método necesario para la conexión es como sigue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | // @author GeekZero@DevTroce.com public static void EjecutarSSH(String pUser, String pPass, String pHost, int pPort, String pComando) throws Exception { JSch ssh = new JSch(); // Instancio el objeto session para la transferencia Session session = null; // instancio el canal sftp ChannelExec channelssh = null; try { // Inciciamos el JSch con el usuario, host y puerto session = ssh.getSession(pUser, pHost, pPort); // Seteamos el password session.setPassword(pPass); // El SFTP requiere un intercambio de claves // con esta propiedad le decimos que acepte la clave // sin pedir confirmación Properties prop = new Properties(); prop.put("StrictHostKeyChecking", "no"); session.setConfig(prop); session.connect(); // Abrimos el canal de sftp y conectamos channelssh = (ChannelExec) session.openChannel("exec"); // seteamos el comando a ejecutar channelssh.setCommand(pComando); // conectar y ejecutar channelssh.connect(); } catch (Exception e) { throw new Exception(e); } finally { // Cerramos el canal y session if (channelssh.isConnected()) channelssh.disconnect(); if (session.isConnected()) session.disconnect(); }// end try }// EjecutarSSH |
Articulos Relacionados:









en
en
en
en
Trackbacks/Pingbacks
[...] = 'compact';ShareYa vimos en una entrega anterior como ejecutar comandos Shell (SSH) con Java, en ésta oportunidad le tocará a C#, básicamente la [...]