如何从C#应用程序创建SSH连接?
我正致力于创建一个GUI来与Citrix XEN服务器进行接口。我不知道如何在XEN服务器上的widows系统上执行应用程序中的命令。如何从C#应用程序创建SSH连接?,c#,ssh,C#,Ssh,我正致力于创建一个GUI来与Citrix XEN服务器进行接口。我不知道如何在XEN服务器上的widows系统上执行应用程序中的命令。 我正在考虑使用SSH,但我也不知道如何使用。有没有人举过这样的例子?当用户按下按钮时,如何建立SSH隧道?我希望能够运行xevmlist命令,然后在标签中显示输出。这只是开始,我的下一个任务是创建一个VM,名称是用户想要的,但现在我只需要弄清楚如何在XEN服务器上执行命令。我使用了SharpSSH,取得了巨大成功 这可以从下载。找到一个ssh组件将允许您做更多有
我正在考虑使用SSH,但我也不知道如何使用。有没有人举过这样的例子?当用户按下按钮时,如何建立SSH隧道?我希望能够运行xevmlist命令,然后在标签中显示输出。这只是开始,我的下一个任务是创建一个VM,名称是用户想要的,但现在我只需要弄清楚如何在XEN服务器上执行命令。我使用了SharpSSH,取得了巨大成功
这可以从下载。找到一个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接口运行任意外部可执行文件,然后对其作出响应
以下是一些链接:
- [MSDN过程类文档][2]
Examples\sharpssh\u samples
文件夹,其中包含大量的示例,这些示例涉及很多细节。这不是我想要的。我希望所有这些都对用户隐藏。这些类允许您在没有控制台的情况下连接SSH服务器。SshExec
类有一个RunCommand
方法,它正好可以做到这一点。。。我必须自己修复一些bug,才能使它正常工作