Соединение SSH.NET всегда отключается после RunCommand
Я пытаюсь подключиться к нашему коммутатору cisco через SSH.NET, выполнить несколько команд (до 200) и прочитать результаты. После одной команды соединение всегда разрывается.
Код:
public void ConnectSSH(string username, string password)
{
sshclient = new SshClient(_name, username, password);
sshclient.Connect();
}
public string ExecuteSSH(string command)
{
//if (!sshclient.IsConnected)
// sshclient.Connect();
SshCommand x = sshclient.CreateCommand(command);
x.Execute();
return x.Result;
}
public void DisconnectSSH()
{
sshclient.Disconnect();
sshclient.Dispose();
}
Пример использования:
ConnectSSH("user", "pw")
foreach (string exCmd in listToExecute)
{
listReturn.Add(ExecuteSSH(exCmd));
}
DisconnectSSH();
Разъединение происходит каждый раз сразу после x.Execute(). Нет ошибки в x.Error, x.ExitStatus = 0
x.Результат всегда правильный
Очевидно, если я уберу комментарии, это работает. Но, как вы можете себе представить, это чертовски медленно, а не то, что я могу использовать.
Был бы очень рад, если у кого-то есть ответ.