#c# #ssh #nuget #libraries
#c# #ssh #nuget #библиотеки
Вопрос:
Я пишу код для подключения к Raspberries. У меня около 100 устройств. Некоторые из них находятся на Raspbian 8 (Jessie), некоторые 9 (Stretch) и некоторые 10 (Buster). Код должен иметь возможность подключаться и перезагружать устройство или отображать последнюю страницу chormium, на которой он был.
SshClient sshclient = new SshClient(label2.Text, "pi", psw);
try
{
sshclient.Connect();
SshCommand sc = sshclient.CreateCommand("strings ~/.config/chromium/Default/'Current Session' | 'grep' -E '^https?://'");
sc.Execute();
string answer = sc.Resu<
int index2 = answer.LastIndexOf("http");
textBox1.Text = answer.Substring(index2);
}
catch
{
MessageBox.Show("Error");
}
sshclient.Disconnect();
Это часть кода, которая должна показывать мне последнюю посещенную страницу. Код работает отлично, команда работает нормально, проблема в том, что я могу подключиться таким образом только к устройствам с Raspbian 8 или 9. Устройства с Raspbian 10 показывают ошибку, которую я не могу подключить. Но когда я использую putty.exe я могу подключиться и даже выполнить команду.
Итак, давайте просто скажем, что в настройках Raspian 10 raspberries нет ничего плохого. Я пытался загрузить разные библиотеки NuGet — Neon.SSH.NET например (потому что самый загруженный SSH.NET был загружен 3 или 4 года назад), но Neon.SSH.NET , при загрузке покажите мне ошибки в коде. Он не знает SSHClient. Я попытался добавить его в using, но using этого не знает.
Кто-нибудь использовал Neon.SSH.NET ? Существуют ли специальные команды, о которых я не знаю? Или есть какая-нибудь лучшая библиотека, чем старая SSH.NET ? Странно, что я могу подключиться к 8 и 9, но не к 10 (что может putty). И нет, установка устройств версии 8 или 9-10 не является вариантом, на самом деле мне нужно обновить все устройства 8 и 9 в ближайшем будущем.
Комментарии:
1. Когда не удается подключиться, какое именно исключение вы получаете?
2. Привет, это {«Установленное соединение было прервано сервером».}. Я пытался внести некоторые изменения, предыдущее исключение было «… было прервано хостом «. Который, в значительной степени, должен быть таким же / похожим.
3. Проблема решена. Проблема была в старом SSH. Загружено бета-обновление — nuget.org/packages/SSH.NET/2020.0.0-beta1 и это работает.