Los sistemas que ejecutan SSH generalmente soportan algún tipo de SFTP, por lo que sólo podían usar algo como SSH.NET:
using (var sftpClient = new SftpClient("localhost", "root", "bugmenot")
{
sftpClient.Connect();
var files = sftpClient.ListDirectory("/tmp");
}
o SharpSSH:
Sftp sftp = new Sftp("localhost", "root", "bugmenot");
try
{
sftp.Connect();
ArrayList files = sftp.GetFileList("/tmp");
}
finally
{
sftp.Close();
}
Edición: Se puede ejecutar cualquier comando sobre SSH con ambas bibliotecas. Es cierto, yo no lo he hecho, sin embargo, pero se supone que funciona de esta manera:
SSH.NET
using (var sshClient = new SshClient("localhost", "root", "bugmenot")
{
sshClient.Connect();
var cmd = sshClient.RunCommand("ls");
var output = cmd.Result;
}
SharpSSH
SshStream ssh = new SshStream("localhost", "root", "bugmenot");
try
{
ssh.Write("ls");
var output = ssh.ReadResponse();
}
finally
{
ssh.Close();
}
bien, pero eso es sólo un sustituto de "ls" . Entiendo que podría haber sido un simple ejemplo para _any_ comando. –
@Hangy: Gracias por responder. No pude ejecutar su código sugerido ya que tengo que obtener el sistema con toda la configuración .Net. ..... Estoy buscando una solución que sea útil para ejecutar cualquier comando o script que esté en el Sistema Remoto. (Gracias Henk Holterman). – vrbilgi
Disculpe, no lo he usado, pero espero que el ejemplo en mi edición y los enlaces agregados lo ayuden a lograrlo. – hangy