systemy, które działają SSH zwykle obsługują jakąś SFTP, więc można po prostu użyć coś SSH.NET:
using (var sftpClient = new SftpClient("localhost", "root", "bugmenot")
{
sftpClient.Connect();
var files = sftpClient.ListDirectory("/tmp");
}
lub SharpSSH:
Sftp sftp = new Sftp("localhost", "root", "bugmenot");
try
{
sftp.Connect();
ArrayList files = sftp.GetFileList("/tmp");
}
finally
{
sftp.Close();
}
Edit: Można uruchomić dowolną komendę przez SSH z obiema bibliotekami. Trzeba przyznać, że nie zrobili, że jeszcze, ale to ma działać tak:
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, ale to jest tylko substytutem "LS" . Rozumiem, że mógł to być prosty przykład polecenia _any_. –
@Hangy: Dzięki za odpowiedź. Nie mogłem uruchomić sugerowanego kodu, ponieważ muszę pobrać system z całą konfiguracją .Net. ..... Szukam rozwiązania, które przyda się do uruchomienia dowolnego polecenia lub skryptu, który jest w systemie zdalnym (dzięki Henk Holterman). – vrbilgi
Niestety, sam tego nie użyłem, ale mam nadzieję, że przykład w mojej edycji i dodane linki pomogą ci to osiągnąć! – hangy