С# отправить простую команду SSH

Я молодой студент и получил домашнюю работу на этой неделе. Это довольно сложно для меня, потому что я должен создать программу, которая может подключиться к SSH-серверу и отправить commamd "etc/init.d/network restart".

Я должен программировать это приложение на С#, и я довольно новичок в нем (только что узнал из некоторые уроки школы). Я также должен создать графический интерфейс.

Я понимаю основы С# (loop, if и т.д.).

Я уже создал графический интерфейс, меню, кнопки и список журналов. GUI = 3 текстовых поля (ip, имя пользователя, пароль) и кнопку для подключения.

screenshot of ui

screenshot of code

Я кодирую программу Microsoft Vistual Studio.

Мой вопрос: как установить соединение SSH с моим сервером?

Ответ 1

Я использовал SSH.Net в проекте некоторое время назад и был очень доволен этим. Он также содержит хорошую документацию с большим количеством образцов о том, как ее использовать.

Оригинальный веб-сайт пакета можно найти здесь, включая документацию (которая в настоящее время недоступна в GitHub).

В вашем случае код будет примерно таким.

using (var client = new SshClient("hostnameOrIp", "username", "password"))
{
    client.Connect();
    client.RunCommand("etc/init.d/networking restart");
    client.Disconnect();
}

Ответ 2

SshClient cSSH = new SshClient("192.168.10.144", 22, "root", "pacaritambo");
cSSH.Connect();
SshCommand x = cSSH.RunCommand("exec \"/var/lib/asterisk/bin/retrieve_conf\"");
cSSH.Disconnect();
cSSH.Dispose();

//используя SSH.Net