私はSSH.NETを使用してC#のコンソールアプリケーションから自分のRaspberry Piに接続しています。SSH.NETはシェル入力コマンドを処理しません
私のストリームを自分のストリームからStreamWriter
に書き込んで送ってください。
問題は何もしないということです。 WriteLine("ls")
のような効果はありません。
これはコードです:
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)
{
}
}
}
}
問題は何?
おかげで、事前:)
なぜuは、独自のストリームからテキストを送信したいですか? SSHクライアントのRunCommandメソッドがあります – Sybren
UWPの下で端末をシミュレートしたいからです。それを行う良い方法はありますか? – SuperJMN
また、RunCommandを使用すると、実行が完了するまでコマンドの出力を取得できません。例えば「apt-get update」のためにどれくらいの時間がかかるか想像してみてください。 – SuperJMN