[英]Unable to get output when sending commands via ssh.net to aruba switch or virtual controller
我正在嘗試遠程進入虛擬 controller 以在控制台中運行 aruba 命令,例如“顯示運行”等,但沒有 output 出現命令。 看來我能夠成功連接,並且沒有看到任何錯誤,但是運行命令時沒有任何反應。
我已通過 putty 連接以驗證命令,並驗證憑據。 我已經能夠通過 python 執行類似的功能,但由於依賴原因,我需要能夠通過 C# 執行此操作。
var methods = new List<AuthenticationMethod>();
methods.Add(new PasswordAuthenticationMethod(UserName, Password));
var con = new ConnectionInfo(virtualController, 22, UserName, methods.ToArray());
Console.WriteLine("Attempting Connection with Network...");
var Client = new SshClient(con);
Client.Connect();
Console.WriteLine("Successfully Connected.");
var cmdRun = Client.RunCommand(showClients);
var result = cmdRun.Result;
Console.WriteLine(result);
cmdRun = Client.RunCommand(showRun);
result = cmdRun.Result;
Console.WriteLine(result);
Client.Disconnect();
控制台輸出“成功連接”。 並繼續執行所有代碼,但從不輸出任何內容:
Console.WriteLine(結果);
我希望通過 putty 運行此命令時會看到終端 output。
我使用SSHClient
而不是Client
。 從這個答案中使用我的 class ,這是調用Client.Connect()
后的一些示例代碼:
SSHStream = SSHClient.CreateExtShellStream("dumb", 120, 80, 0, 0, 65536);
if (SSHStream != null) {
DoCommand("no page");
Connected = true;
}
var result = DoCommand("show cdp neighbors | begin Port", TimeSpan.FromSeconds(2), "#");
這是輔助方法:
public static IEnumerable<string> DoCommand(string c, TimeSpan? timeout = null, string prompt = "#") {
return SSHStream.DoCommand(c, timeout ?? TimeSpan.FromSeconds(2), prompt);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.