Ejecutar Comandos SSH y transferir ficheros por SCP desde C#
Febrero 3, 2010. Por GeekZero. Categorizado en C# .Net, GNU/Linux, Lenguajes de Programación, Redes, Sistemas Operativos. Dejanos el Primer Comentario. Leido 877 veces.
Ya vimos en una entrega anterior como ejecutar comandos Shell (SSH) con Java, en ésta oportunidad le tocará a C#, básicamente la aplicación podrá hacer lo mismo que hace el ejemplo anterior, la unica diferencia es lo más obvio, el lenguaje en que fue escrito
.
Para lograr esto en C# necesitaremos descargarnos la librería opensource Tamir | Gal el mismo nos servirá para realizar varias tareas, ejecutar comandos SSH y copiar ficheros por SCP. Una vez descargado agregamos las .dll a las referencias del proyecto, haciendo click derecho sobre references –>Agregar referencias.. –> Examinar –> Tamir.SharpSSH.dll. (Para este paso buscamos el directorio donde hemos descargado el archivo).
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | using Tamir.SharpSsh;<span id="more-720"></span> private void EjecutarSSH(string pServidor, string pUsuario, string pPassword, string pComando) { SshStream SSH = null; try { // instancia del objeto SSHShell SSH = new SshStream(pServidor, pUsuario, pPassword); // ejecutar el comando SSH.Write(pComando); // confirmar SSH.flush(); } catch (Exception ex) { throw ex; } finally { //cerrar conexion SSH SSH.Close(); } // end try } // end EjecutarSHH private void BajarSCP(string pServidor, string pUsuario, string pPassword, string pFileRemoto, string pFileLocal) { // instancia del objeto SCP Scp SCP = new SshStream(pServidor, pUsuario, pPassword); try { // crear conexion SSH SCP.Connect(); // Bajar el archivo SCP.From(pFileRemoto, pFileLocal, false); } catch (Exception ex) { throw ex; } finally { //cerrar conexion SCP SCP.Close(); } // end try } // end BajarSCP private void SubirSCP(string pServidor, string pUsuario, string pPassword, string pFileRemoto, string pFileLocal) { // instancia del objeto SCP Scp SCP = new SshStream(pServidor, pUsuario, pPassword); try { // crear conexion SSH SCP.Connect(); // Subir el archivo SCP.To(pFileLocal, pFileRemoto, false); } catch (Exception ex) { throw ex; } finally { //cerrar conexion SCP SCP.Close(); } // end try } // end SubirSCP |
Articulos Relacionados:

en
en
Escribenos tu Comentario