2011-02-03 5 views
19

Sto cercando una libreria C# che fornisce accesso a SSH e Telnet sotto la stessa interfaccia. Quale sarebbe una buona scelta?Libreria C# per SSH e Telnet

+4

Come potrebbero usare la stessa interfaccia? SSH ha bisogno di cose come username, file di chiavi private e così via, che non hanno alcun significato per Telnet. Immagino che dopo aver stabilito la connessione si possa avere un'interfaccia comune che è solo un flusso di byte bidirezionale, ma l'impostazione della connessione è molto diversa. –

+2

cosa hai trovato quando hai cercato e perché non hanno soddisfatto le tue esigenze? –

+2

Aspetta, cerca? Pensavo che pubblicare qui fosse una ricerca? – dotalchemy

risposta

2

Questo collegamento potrebbe aiutare C# Telnet Library

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

non potevo trova qualcosa che provi identifica identiche (o anche API simili) sia per telnet che per ssh, sharpSSH è una piccola libreria che estrae piacevolmente SSH.

+4

SharpSSH non è stato mantenuto per anni ... –

+1

Sharp ssh è molto molto buggato – Tjaart

+3

Sembra che qualcuno abbia rilevato SharpSSH qui [SSH.Net] (http://sshnet.codeplex.com/) ed è disponibile tramite NuGet +1 –

9

Si consiglia di Granados per stack SSH. È stato utilizzato in molti prodotti.

Raccomando questo code project page per lo stack telnet.

È anche possibile scaricare Poderosa terminal emulator. Sta usando Granados come stack SSH e ha la propria implementazione dello stack telnet.

Poderosa è molto inseribile. Fornisce un buon livello di astrazione sugli stack di rete. Se non hai il tempo di scrivere la tua interfaccia unificata, dovresti davvero dare un'occhiata al loro lavoro. Fornisce l'accesso a SSH e Telnet sotto la stessa interfaccia come quello che vuoi. Sfortunatamente, è stato scritto da ingegneri giapponesi. Tutti i commenti in linea sono scritti in giapponese. Potrebbe volerci del tempo per capire i codici.

Si consiglia inoltre di controllare anche la libreria di emulazione terminale. Poiché si stanno elaborando i dati di ritorno dai terminali remoti, la maggior parte dei terminali restituisce escape character sequence per i comandi di controllo dispositivo, il colore dei caratteri/stile o i comandi di spostamento del cursore.

Si potrebbe non notare che anche in un semplice comando "ls -al", il contenuto restituito può anche coinvolgere alcune sequenze di caratteri di escape. Queste sequenze di escape consentono di visualizzare il nome della directory e il nome del file in diversi colori.

Ancora, per l'emulazione di terminale, la migliore libreria C# che riesco a trovare è Poderosa. Se non si deve usare la libreria C#, PuTTY ha il miglior supporto per l'emulazione di terminale. Può riconoscere quasi tutte le sequenze di caratteri di escape che ho visto finora.

Anche se consiglio vivamente di visitare Poderosa e Granados, sappiate che questi progetti sembrano non essere più attivi. Bene .. anche così, è ancora il migliore che ho visto.

3

Fare in modo che SSH funzioni con C# è davvero molto complicato e la maggior parte delle implementazioni è o buggata o troppo lenta. Quando stavamo creando SmarTTY, abbiamo lottato con SharpSSH e SSH.Net molto, e alla fine abbiamo deciso di creare il nostro wrapper C# attorno a libssh2.

Sebbene SmarTTY non sia open source, se si desidera utilizzare la sua libreria SSH nel progetto, sentitevi liberi di inviarmi una e-mail. Se c'è una grande richiesta per una libreria del genere, potremmo rilasciarla come prodotto separato.

+0

Mi piacerebbe vedere il tuo wrapper ssh. –

+0

Ciao Ivan. Come vedo, non hai ancora rilasciato il tuo wrapper? Posso averlo per l'uso nel mio progetto? – Geograph