Тестирование с использованием Plink.exe для подключения к SSH в C #

Я пытаюсь подключиться к терминалу Unix через plink.exe. Цель состоит в том, чтобы я мог прочитать текст обратно в строку.

Моя дилемма в том, что банк, в котором я работаю, использует старую систему типа as400, к которой мы обычно обращаемся через замазку. Я пытаюсь разработать пакет автоматизации, который будет взаимодействовать с системой, запускать задания, анализировать результаты и т. Д.

Так что я решил использовать plink через C #. Если я запускаю код через командную строку, я получаю (примерно) текст, который мне нужен. Однако я страдаю от проблемы в моем коде C # в том, что он просто зависает, и я никогда не получаю ответ.

То, что я хочу, это так:

Подключение к серверу. Команда ввода. Обратный экран // Дополнительные команды и т. Д.

Вот мой код до сих пор:

class Program
{
    static void Main(string[] args)
    {

        ProcessStartInfo psi = new ProcessStartInfo(@"C:\Windows\System32\cmd");
        psi.RedirectStandardInput = true;
        psi.RedirectStandardOutput = true;
        psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
        psi.UseShellExecute = false;
        psi.CreateNoWindow = false;

        Process process = Process.Start(psi);
        string cmdForTunnel = @"c:\putty\plink -ssh jonkers@bankhq -pw automationhero";
        process.StandardInput.WriteLine(cmdForTunnel);
       // process.WaitForExit();
        Thread.Sleep(30000);
        string output = process.StandardOutput.ReadToEnd();

        Console.WriteLine(output);

        //DoBusinessLogic();
        process.StandardInput.WriteLine("logout");
        Thread.Sleep(10000);

        if (process.HasExited)
        {
            process.Close();
            process.Dispose();
        } 
    }
}

Я не совсем уверен, где проблемы лежат, потому что, как я уже говорил, я тестировал использование plink через командную строку, но с моим решением выше он просто зависает. Я пытался использовать решения от других людей в stackoverflow, но ни одно из них, похоже, не работает для меня, так как я продолжаю зависать. И советы будут высоко ценится.

РЕДАКТИРОВАТЬ

Теперь я решил использовать библиотеку Renci Sharp SSH и построить свою собственную среду для этого. Это работает намного лучше.

Ответы на вопрос(2)

Ваш ответ на вопрос