2011-02-03 2 views
19

Я ищу библиотеку C#, которая обеспечивает доступ к SSH и Telnet под тем же интерфейсом. Что было бы хорошим выбором?Библиотека C# для SSH и Telnet

+4

Как они могут использовать один и тот же интерфейс? SSH нужны такие вещи, как имя пользователя, файлы секретных ключей и т. Д., Которые не имеют никакого значения для Telnet. Я предполагаю, что после установления соединения у вас может быть общий интерфейс, который представляет собой только двунаправленный поток байтов, но настройка соединения очень различна. –

+2

Что вы нашли, когда искали, и почему они не соответствовали вашим потребностям? –

+2

Ждать, искать? Я думал, что публикация здесь была поиском? – dotalchemy

ответ

2

Эта ссылка может помочь вам C# Telnet Library

  • Минималистичный Telnet
  • telnetcsharp.codeplex.com
  • xpresslearn
  • thoughtproject.com
  • dotnettelnet
0

Я не мог найти что-нибудь, что ides идентичные (или даже подобные API) для telnet и ssh, sharpSSH - небольшая библиотека, которая прекрасно абстрагирует SSH.

+4

SharpSSH не поддерживается в течение многих лет ... –

+1

Sharp ssh очень сильно глючит – Tjaart

+3

Кажется, что кто-то взял SharpSSH здесь [SSH.Net] (http://sshnet.codeplex.com/) и доступен через NuGet +1 –

9

Я рекомендую Granados для стека SSH. Он используется во многих продуктах.

Я рекомендую этот code project page для стека telnet.

Вы также можете скачать Poderosa terminal emulator. Он использует Granados как стек SSH и имеет собственную реализацию стека telnet.

Poderosa очень подключаемый. Он обеспечивает хороший уровень абстракции в сетевых стеках. Если у вас нет времени писать собственный унифицированный интерфейс, вы должны действительно проверить их работу. Он обеспечивает доступ к SSH и Telnet под тем же интерфейсом, что и вы. К сожалению, это написано японскими инженерами. Все встроенные комментарии написаны на японском языке. Это может занять некоторое время, чтобы понять коды.

Вы также можете проверить библиотеку эмуляции терминала. Поскольку вы собираетесь обрабатывать данные, возвращаемые с удаленных терминалов, большинство терминалов возвращают escape character sequence для команд управления устройством, цветов шрифта/стиля или команд перемещения курсора.

Вы можете не заметить, что даже в простой команде «ls -al» возвращаемое содержимое может также содержать некоторые escape-последовательности символов. Эти escape-последовательности должны указывать имя каталога и имя файла в разных цветах.

Опять же, для эмуляции терминала, лучшая библиотека C#, которую я могу найти, это Poderosa. Если вам не нужно использовать библиотеку C#, PuTTY имеет лучшую поддержку эмуляции терминала. Он может распознать почти все escape-последовательности символов, которые я видел до сих пор.

Хотя я настоятельно рекомендую вам посмотреть на Подерозу и Гранадос, помните, что эти проекты, похоже, более неактивны. Ну .. даже так, это все же лучшее, что я видел.

3

Создание SSH-работы с C# действительно очень сложно, и большинство реализаций являются либо глючными, либо слишком медленными. Когда мы делали SmarTTY, мы много боролись с SharpSSH и SSH.Net, а затем, наконец, решили создать свою собственную оболочку C# вокруг libssh2.

Хотя SmarTTY не является открытым исходным кодом, если вы хотите использовать его библиотеку SSH в своем проекте, не стесняйтесь, напишите мне письмо. Если в библиотеке есть большой спрос, мы можем опубликовать ее как отдельный продукт.

+0

Я бы хотел увидеть вашу обертку ssh. –

+0

Привет, Иван. Как я вижу, вы все еще не выпустили свою обертку? Могу ли я получить его для использования в моем проекте? – Geograph

Смежные вопросы