在RunCommand之后,SSH.NET Connection始终断开连接

时间:2015-03-25 09:10:39

标签: c# ssh cisco ssh.net

我正在尝试通过SSH.NET连接到我们的cisco交换机并在其上运行多个命令(最多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.Result永远是正确的

显然,如果我拿出评论,它就有效。但正如你可以想象的那样,它很慢而不是我可以使用的东西。

如果有人有答案,我会很高兴。

0 个答案:

没有答案