использование plink.exe для подключения к SSH в C # не работает на всех коммутаторах - PullRequest
0 голосов
/ 23 сентября 2019

Я пишу код для сохранения конфигурации списка коммутаторов с использованием C # при подключении к plink.exe версии 0.72.Он работает на большинстве коммутаторов.

Некоторые коммутаторы возвращают ошибку в соединении:

fatal error:network error

Коммутаторы версии 15.2 (4) Ошибка возврата E6 при попытке запуска процесса plink.

У кого-нибудь есть идея, почему она не работает?


Вот мой код.Ошибка возникает на process.Start();.

foreach (string hostname in IPsList)
{
    Process process = new Process();
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = plinkExeLocation;
    startInfo.Arguments = string.Format("{0}@{1} -pw {2}", login, hostname, password);
    startInfo.RedirectStandardInput = true;
    startInfo.RedirectStandardOutput = true;
    startInfo.UseShellExecute = false;
    startInfo.CreateNoWindow = false;
    string enablePassword =  enablePasswordNewSwitches;
    try
    {
        process.StartInfo = startInfo;
        process.Start();
        process.StandardInput.WriteLine("y"); // if first time- y= accept host key, else- ignore and continue
        Thread.Sleep(5000);
        process.StandardInput.WriteLine("en\n" + enablePassword); // enable 
        process.StandardInput.WriteLine("terminal length 0"); // configure to read file until end
        process.StandardInput.WriteLine("sh run"); // run configuration
        process.StandardInput.WriteLine("exit");
        string output = process.StandardOutput.ReadToEnd();
   }
}
...