Системы, в которых работает SSH, обычно поддерживают какой-то тип SFTP, поэтому вы можете просто использовать что-то вроде SSH.NET :
using (var sftpClient = new SftpClient("localhost", "root", "bugmenot")
{
sftpClient.Connect();
var files = sftpClient.ListDirectory("/tmp");
}
или SharpSSH :
Sftp sftp = new Sftp("localhost", "root", "bugmenot");
try
{
sftp.Connect();
ArrayList files = sftp.GetFileList("/tmp");
}
finally
{
sftp.Close();
}
Редактировать : Вы можете запустить любую команду через SSH с обеими библиотеками. По общему признанию, я еще не сделал этого, но это должно работать так:
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();
}