如何从C#应用程序创建SSH连接?

时间:2010-11-01 16:20:52

标签: c# ssh

我正在创建一个与Citrix XEN服务器连接的GUI。我不知道如何在XEN服务器上的widows系统上从我的应用程序中执行命令。 我在想使用SSH,但我又不知道怎么做。有没有人有如何做到这一点的例子?如何在用户按下按钮时建立SSH隧道?我希望能够运行命令xe vm-list,然后在标签中显示输出。仅仅是开始我的下一个将是创建一个VM,名称是用户想要的,但是现在我只需要弄清楚如何在XEN服务器上执行命令。

2 个答案:

答案 0 :(得分:2)

我使用 SharpSSH 取得了巨大成功。

可以从http://www.tamirgal.com/blog/page/SharpSSH.aspx下载。

答案 1 :(得分:1)

找到一个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界面运行任意外部可执行文件,然后对其进行响应。

以下是一些链接: