代码之家  ›  专栏  ›  技术社区  ›  user770022

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

  •  3
  • user770022  · 技术社区  · 15 年前

    我正在创建一个与Citrix XEN服务器接口的GUI。我不知道如何在XEN服务器上的widows系统上执行应用程序中的命令。 我想用SSH,但我不知道怎么用。有人能举个例子说明怎么做吗?如何在用户按下按钮时建立SSH隧道?我希望能够运行xe vm list命令,然后在标签中显示输出。这只是开始我的下一个将是创建一个虚拟机和名称是用户想要的,但现在我只需要找出如何执行XEN服务器上的命令。

    2 回复  |  直到 15 年前
        1
  •  1
  •   lscoughlin    15 年前

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

    以下是一些链接:

        2
  •  2
  •   Pieter van Ginkel    15 年前

    夏普什 取得了巨大的成功。

    http://www.tamirgal.com/blog/page/SharpSSH.aspx .