我正在使用SSH.NET从我的.net应用程序连接到Linux服务器。我执行的每个命令都按预期完成,但pbrun su - myaccount。
除外在调试时,执行pbrun su - myaccount命令时,调试器中的箭头消失,控件永远不会返回到visual studio,因此需要我手动停止调试应用程序。
答案 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();
}
}
}
}