Всем привет. Недавно начал писать программу для работы столкнулся с проблемой при её исполнении. Я сам программист достаточно слабый и в основном пользовался интернетом и другими ресурсами. Суть программы заключается в том что она должна по SSH подключаться к сетевому коммутатору и выполнять определенные команды. Но в нашей сети есть большое кол-во коммутаторов которые используют старую версию SSH клиента, в следствии чего при исполнении команды ssh username@host выдает ошибку
Unable to negotiate with 172.18.54.214 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1, нашел решение этой проблемы в добавлении ключ(а/ей)
-o KexAlgorithms=diffie-hellman-group1-sha1 -o Ciphers=aes256-cbc, но не знаю как этот ключ реализовать в коде программы. Обновить коммутаторы так быстро не получиться, т.к их кол-во маленькое и вот ищу третий день какое-то решение на просторах...
Сам код:
using System.Data;
using System.Text.RegularExpressions;
using Renci.SshNet; // для ссш подключения
using System.Threading;
using System.Security.Cryptography.X509Certificates;
using System.ComponentModel.Design; // Для установки задержок между команды
class Program
{
private static SshClient client;
static void Main(string[] args)
{
Console.WriteLine("Введите IP адрес: ");
string host = Console.ReadLine();
Console.WriteLine("Введите password");
string password = Console.ReadLine();
string modelSwitch;
client = new SshClient(host, "***", password);
Console.WriteLine("1.D-Link");
Console.WriteLine("2.Eltex");
Console.Write("Выберите модель коммутатора:");
modelSwitch = Console.ReadLine();
try
{
client.Connect();
Console.WriteLine("Подключение установлено. Нажмите Enter чтоб продолжить...");
// Основной цикл для ввода команд
while (true)