Ich verwende SSH.NET, um eine Verbindung zu meinem Raspberry Pi über eine Konsolenanwendung in C# herzustellen.SSH.NET verarbeitet meine Shell-Eingabebefehle nicht
Ich möchte Text senden von meinem eigenen Stream, Schreiben über eine StreamWriter
.
Das Problem ist, dass es nichts tut. Es ist wie die WriteLine("ls")
keinen Effekt erzeugt.
Dies ist der Code:
using System;
using System.IO;
using Renci.SshNet;
namespace SSHTest
{
class Program
{
static void Main(string[] args)
{
var ssh = new SshClient("raspberrypi", 22, "pi", "raspberry");
ssh.Connect();
var input = new MemoryStream();
var streamWriter = new StreamWriter(input) { AutoFlush = true };
var shell =
ssh.CreateShell(input, Console.OpenStandardOutput(), new MemoryStream());
shell.Start();
streamWriter.WriteLine("ls");
while (true)
{
}
}
}
}
Was ist das Problem?
Dank ist Voraus :)
Warum wollen u Text von Ihrem eigenen Stream senden? Es gibt eine RunCommand-Methode für den SSH-Client – Sybren
Da ich ein Terminal unter UWP simulieren möchte. Gibt es einen guten Weg, es zu tun? – SuperJMN
Außerdem, wenn ich RunCommand verwende, kann ich die Ausgabe des Befehls nicht erhalten, bis die Ausführung beendet ist. Stellen Sie sich vor, wie lange es beispielsweise für "apt-get update" dauern würde. – SuperJMN