renci.sshnet - 如何在ssh会话中键入文本

时间:2015-02-11 11:07:55

标签: c# ssh

使用Renci.SshNet;

var conn = new PasswordConnectionInfo(host , user, pass);
                using (var client = new SshClient (conn) )
                {
                    client.Connect();
                    client.RunCommand("echo type A; read letter; echo you typed $letter");
                    client.Disconnect();
                }

简单示例,询问用户提示。它“挂起”因为等待用户响应。这个响应如何在C#中实现?

1 个答案:

答案 0 :(得分:2)

好吧,我想我的问题不够明确,这就是我没有答案的原因。无论如何,我必须帮助自己,最后我发现了该怎么做。也许答案可以帮助某人

而不是使用 SshClient 更合适的是 ShellStream

下面的代码只是一个提示 - 不是一个现成的解决方案,但它是一个良好的开端:)

  using (var client = new SshClient (conn) )
        {
            client.Connect();
            ShellStream shells = client.CreateShellStream("test", 80, 24, 800, 600, 1024);
            shells.WriteLine("echo Type letter A please");
            shells.WriteLine("read letter");
            shells.WriteLine("A");
            shells.WriteLine("echo $letter");
            string output = shells.Read();
        }