2010-06-28 4 views
2

Я возился с Tamir.SharpSsh и хотел посмотреть, можно ли использовать его для полного использования SSH-клиента консоли в C#. Я не имею в виду что-то вроде шпатлевки, где он фактически работает в своем собственном графическом интерфейсе, но что-то, что вы могли бы запустить прямо из консоли cmd windows.VT100 Emulation LIbrary в C# с SharpSSH

Библиотека довольно большая, за исключением того, что она не обрабатывает эмуляцию терминала каким-либо образом. Поэтому при использовании SshShell вы можете сделать некоторое базовое взаимодействие, но вывод часто очень уродлив и заполнен случайными символами, и вы не можете фактически взаимодействовать с такими вещами, как shell-скрипты и т. Д.

Насколько я могу судить, SharpSSH просто перенаправляет IO на консоль ввода-вывода.

Насколько сложно перенаправить это в другое место и обработать терминальную эмуляцию? Кроме того, есть ли библиотека эмуляции (C# и open source, предпочтительно), которую я мог бы использовать?

Редактировать: Остановитесь на SharpSSH, см. Ниже ответ для окончательного решения, которое я придумал.

ответ

2

У меня на самом деле с тех пор, как я отказался от использования SharpSSH. Это хорошая библиотека, но просто не хватает общей функциональности. Теперь я использую библиотеку под названием Granados, которая представляет собой гораздо более сложную реализацию SSH. Он имеет встроенную модель событий (в отличие от SharpSSH, которая в основном включает в себя споры с Streams), что делает использование очень простым.

Что касается части эмуляции терминала ... Granados на самом деле является ядром другого проекта с открытым исходным кодом под названием Poderosa.

Poderosa - приложение для полного терминала, которое может подключаться к ssh, telnet и даже к локальной установке cygwin.

На самом деле, я действительно не влюбился в его код эмуляции терминала, но это определенно делает это довольно хорошо, поэтому я уверен, что вы можете легко вытащить любой код, который вам нужен.

1

Я ищу то же самое. Существует библиотека here, которая стоит 700 долларов. Нашел еще один на codeproject, который выглядит дрянным, но может быть хорошим началом. И здесь есть неполная реализация на stackoverflow. Еще поиск ..