Ошибка при подключение к Windows Server по SSH c#

316
11 июня 2017, 16:11

Ошибка при подключение к Windows Server по SSH

Код:

using Renci.SshNet;
string user = "Администратор";
string pass = "********";
string host = "*********";
        using (var client = new SshClient(host, user, pass))
        {
            //Start the connection
            client.Connect();
            var output = client.RunCommand("echo test");
            client.Disconnect();
            Console.WriteLine(output.Result);
        }

Ошибка:

Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера

Кто знает как решить данную ошибку, возможно я что-то неправильно делаю?

Answer 1

Все ниже перечисленное актуально только если вы имеете административные права на сервере. Если таких прав у вас нет, то ответ короткий - удаленное управление и запуск произвольных программ невозможны.

В стандартную поставку Windows не входят сервисы для работы с SSH, поэтому вам необходимо самостоятельно установить и настроить любой удобный удобный для вас сторонний SSH-сервер, благо выбор есть.

Из стандартных средств удаленного управления есть следующее:

  • Telnet - древний и небезопасный, поэтому по умолчанию выключен во всех версиях Windows. Для работы с ним придется его включать руками (Панель управления\Программы\Программы и компоненты => Включение или отключение компонентов Windows). Доступно на всех версиях Windows. Возможно программное управление.

  • MMC (Microsoft Management Console) - позволяет выполнять практически все административные задачи кроме интерактивного запуска программ. Фоновый запуск возможен путем настройки заданий в планировщике задач. Доступно начиная с Windows 2000. Программное управление и запуск произвольных программ невозможны.

  • WMI (Windows Management Instrumentation) - является основным средством централизованного управления в Windows. Позволяет получать исчерпывающую информацию о системе и управлять любыми системными параметрами. Удобство на любителя, но средство действительно мощное, поэтому удаленное взаимодействие с помощью WMI по-умолчанию отключено в целях безопасности. Потребуется некоторая настройка. Доступно начиная с Windows 2000. Возможно программное управление. Запуск произвольных программ непосредственно невозможен

  • WinRM + WinRS (Windows Remote Management, Windows Remote Shell) - Удаленная консоль. Позволяет то же что и локальная консоль. В основе WMI, весь трафик шифруется, аутентификация Kerberos. Идеально для работы в домене, для автономного использования потребуется дополнительная настройка безопасности. В любом случае требуется предварительная настройка сервера для работы. Доступно начиная с Windows Server 2008. Возможно программное управление.

  • RDP (Remote Desktop Protocol) - Предназначен исключительно для интерактивной работы с удаленным сервером. Доступно начиная с Windows 2000. Программное управление и запуск произвольных программ невозможны.

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

READ ALSO
Как изменить значение Resources.Strings?

Как изменить значение Resources.Strings?

Ошибка CS0200 Невозможно присвоить значение свойству или индексатору "StringsName" — доступ только для чтения

436
Сенсорный ScrollBar

Сенсорный ScrollBar

Для активации сенсорной прокрутки ScrollViewer достаточно установить PanningMode в BothОднако, это не даёт возможности использовать Thumb ScrollBar'а при сенсорном...

193
запись в файл или сохранить? [требует правки]

запись в файл или сохранить? [требует правки]

Запись текста в файл или сохранение его, это по сути одно и тоже ? Но какой метод будет работать быстрее, 1-й или 2-й ?

302
C#- Как десериализировать Json в котором есть массив?

C#- Как десериализировать Json в котором есть массив?

Всем привет! Есть Json получаемый от LongPoll`а ВКонтакте:

251