Как я могу создать SSH-соединение из приложения C #? - PullRequest
3 голосов
/ 01 ноября 2010

Я работаю над созданием графического интерфейса для взаимодействия с сервером Citrix XEN. Я не знаю, как выполнять команды из моего приложения в моей системе вдов на сервере XEN. Я думал об использовании SSH, но опять же я не знаю как. У кого-нибудь есть пример как это сделать? Как установить SSH-туннель, когда пользователь нажимает кнопку? Я хочу иметь возможность выполнить команду xe vm-list и затем отобразить вывод в метке. Вот только для начала моей следующей будет создание виртуальной машины, а имя - это то, что хочет пользователь, но сейчас мне просто нужно выяснить, как выполнять команды на сервере XEN.

Ответы [ 2 ]

2 голосов
/ 01 ноября 2010

Я использовал SharpSSH с большим успехом.

Это можно загрузить с http://www.tamirgal.com/blog/page/SharpSSH.aspx.

1 голос
/ 01 ноября 2010

Если вы обнаружите, что компонент ssh позволит вам делать более значимые вещи, но на базовом уровне вы можете сделать что-то вроде этого:

public void ExecuteExternalCommand(string command)
{
 try
 {
  // process start info
  System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);
  processStartInfo.RedirectStandardOutput = true;
  processStartInfo.UseShellExecute = false;
  processStartInfo.CreateNoWindow = true; // Don't show console

  // create the process
  System.Diagnostics.Process process = new System.Diagnostics.Process();
  process.StartInfo = processStartInfo;
  process.Start();

  string output = process.StandardOutput.ReadToEnd();
  Console.WriteLine(output);
 }
 catch (Exception exception)
 {
  //TODO: something Meaninful
 }
}

Это позволит вам запускать произвольные внешние исполняемые файлы через интерфейс cmd.exe, а затем отвечать на них.

Вот несколько ссылок:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...