.NET SSH pbrun su

时间:2016-06-30 16:27:07

标签: asp.net .net ssh ssh.net

我正在使用SSH.NET从我的.net应用程序连接到Linux服务器。我执行的每个命令都按预期完成,但pbrun su - myaccount。

除外

在调试时,执行pbrun su - myaccount命令时,调试器中的箭头消失,控件永远不会返回到visual studio,因此需要我手动停止调试应用程序。

1 个答案:

答案 0 :(得分:1)

如果问题是pbrun要求stdin中的内容(密码,原因等),你可以创建一个由你控制的流并写入的shell。

简单示例:

using System;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var connectionInfo = new Renci.SshNet.PasswordConnectionInfo("ancardia.us.to", "adom", "adom");
            var ssh = new Renci.SshNet.SshClient(connectionInfo);

            ssh.Connect();

           var shell = ssh.CreateShell(Console.OpenStandardInput(), Console.OpenStandardOutput(), Console.OpenStandardOutput());
           shell.Start();

       while (true) {
            Console.Read();
            }

        }


    }
}

enter image description here