sistemi che eseguono SSH solito supportano un qualche tipo di SFTP, quindi si potrebbe utilizzare qualcosa come 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();
}
Modifica: È possibile eseguire qualsiasi comando su SSH con entrambe le librerie. Certo, non ho fatto che, ancora, ma dovrebbe funzionare in questo modo:
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();
}
OK, ma che è solo un sostituto per "ls" . Capisco che potrebbe essere stato un semplice esempio per _any_ comando. –
@Hangy: Grazie per la risposta. Non ho potuto eseguire il tuo codice suggerito in quanto devo avere il sistema con tutte le configurazioni .Net. ..... Sto cercando una soluzione che possa essere utile per eseguire qualsiasi comando o script in Remote System. (Grazie a Henk Holterman). – vrbilgi
Scusa, non l'ho usato da solo, ma spero che l'esempio nella mia modifica e i collegamenti aggiunti ti aiutino a farlo! – hangy