SshNet Befehlsausführung
Ich versuche, erstellen einen SSH-client mithilfe von C#. Ich bin mit dem Renci.SshNet Bibliothek. Ich bin Probleme mit dem senden des Befehls und bekommen eine entsprechende Antwort vom server.
Den Weg, ich habe es getestet wird, indem über den ls-Befehl, gefolgt von cd.. - Befehl, gefolgt vom ls-Befehl wieder-um zu sehen, ob oder nicht die cd.. - Befehl wird ordnungsgemäß ausgeführt. Es ist jedoch kein Unterschied zwischen der ersten ls-Befehl und der zweite Befehl ls. Ich bin mir nicht ganz sicher, was ich falsch mache. Vielleicht bin ich mit falschen Ssh-Typ. Ich habe den code und die Ausgabe, die ich erhalte. Ich habe auch Hinzugefügt die Ausgabe, die ich erwarte.
SshClient ssh = new SshClient("apk0rhel01", "dwaseem", "Da_011235813");
ssh.Connect();
while (true)
{
string command = Console.ReadLine();
if (command == "exit")
{
break;
}
var result = ssh.RunCommand(command);
if (result.Result.Length < 10)
continue;
Console.Write(result.Result);
}
ssh.Disconnect();
Ausgabe:
Erwartete Ausgabe:
InformationsquelleAutor user2970916 | 2015-04-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Antwort auf diese ist die gleiche wie die für Ihre Frage über das Tamir SSH Bibliothek - Sie sind mit einer Klasse vorgesehen für die Ausführung der einzelnen Befehle, die sich anmeldet, und führt den Befehl jedes mal. Sie werden nicht in der Lage, verwenden Sie diese wie eine Muschel.
Wenn Sie möchten, die zum implementieren der interaktiven Befehle, die Sie benötigen, etwas, das hält die Verbindung offen, und Sie müssen befassen sich mit arbeiten aus, wenn ein Befehl beendet ist (was normalerweise geschieht, indem für die prompt-Muster). Die Shell-Klasse stellt Methoden für den Umgang mit dieser - Sie finden Beispiele für die Verwendung auf Ihrer website.
InformationsquelleAutor Richard