2011-02-03 19 views
19

Estoy buscando una biblioteca C# que proporcione acceso a SSH y Telnet en la misma interfaz. ¿Cuál sería una buena elección?Biblioteca C# para SSH y Telnet

+4

¿Cómo podrían usar la misma interfaz? SSH necesita cosas como nombre de usuario, archivos de clave privada, etc., que no tienen ningún significado para Telnet. Creo que una vez establecida la conexión, podría tener una interfaz común que sea solo una transmisión de bytes bidireccional, pero la configuración de la conexión es muy diferente. –

+2

¿Qué encontró cuando realizó una búsqueda y por qué no cumplieron con sus necesidades? –

+2

Espera, busca? Pensé que publicar aquí estaba buscando? – dotalchemy

Respuesta

2

Este enlace puede ayudarle a C# Telnet Library

  • minimalista Telnet
  • telnetcsharp.codeplex.com
  • xpresslearn
  • thoughtproject.com
  • dotnettelnet
0

no pude encontrar algo que prov idénticos (o incluso API similares) para telnet y ssh, sharpSSH es una pequeña biblioteca que abstrae muy bien SSH.

+4

SharpSSH no se ha mantenido durante años ... –

+1

Sharp ssh es muy muy defectuoso – Tjaart

+3

Parece que alguien se hizo cargo de SharpSSH aquí [SSH.Net] (http://sshnet.codeplex.com/) y está disponible a través de NuGet +1 –

9

Recomiendo Granados para SSH stack. Ha sido usado en muchos productos.

Recomiendo este code project page para telnet stack.

También puedes descargar Poderosa terminal emulator. Está utilizando Granados como la pila SSH y tiene su propia implementación de la pila de telnet.

Poderosa es muy conectable. Proporciona una buena capa de abstracción en las pilas de la red. Si no tiene tiempo para escribir su propia interfaz unificada, realmente debería verificar su trabajo. Proporciona acceso a SSH y Telnet en la misma interfaz, como lo que desea. Desafortunadamente, está escrito por ingenieros japoneses. Todos los comentarios en línea están escritos en japonés. Puede llevarte algo de tiempo entender los códigos.

También es posible que también desee consultar la biblioteca de emulación de terminal. Como va a procesar los datos que regresan de los terminales remotos, la mayoría de los terminales devuelven escape character sequence para los comandos de control del dispositivo, el color de fuente/estilo o los comandos de movimiento del cursor.

Puede que no notes que incluso en un simple comando "ls -al", el contenido devuelto también puede implicar algunas secuencias de caracteres de escape. Esas secuencias de escape son para hacer que el nombre del directorio y el nombre del archivo se muestren en diferentes colores.

De nuevo, para la emulación de terminal, la mejor biblioteca de C# que puedo encontrar es Poderosa. Si no tiene que usar la biblioteca C#, PuTTY tiene la mejor compatibilidad de emulación de terminal. Puede reconocer casi todas las secuencias de caracteres de escape que he visto hasta ahora.

Aunque le recomiendo encarecidamente que mire a Poderosa y Granados, tenga en cuenta que estos proyectos parecen haber dejado de estar activos. Bueno ... aun así, sigue siendo el mejor que he visto.

3

Hacer que el SSH funcione con C# es de hecho muy complicado y la mayoría de las implementaciones son defectuosas o muy lentas. Cuando estábamos haciendo SmarTTY, tuvimos muchos problemas con SharpSSH y SSH.Net, y finalmente decidimos crear nuestro propio contenedor C# alrededor de libssh2.

Aunque SmarTTY no es de código abierto, si desea utilizar su biblioteca SSH en su proyecto, no dude en enviarme un correo electrónico. Si hay una gran demanda de una biblioteca como esa, podríamos lanzarla como un producto separado.

+0

Me encantaría ver tu envoltorio ssh. –

+0

Hola Ivan. ¿Cómo veo, todavía no has lanzado tu envoltorio? ¿Puedo obtenerlo para usar en mi proyecto? – Geograph