2009-11-04 24 views
12

Voglio creare un tunnel SSH in Java. Ho notato alcune librerie Java SSH su another post. Prima di esaminare ciascuna opzione, forse qualcuno può darmi alcuni frammenti di codice su come l'hanno fatto o almeno dirmi quale libreria client funzionerebbe meglio.Semplice tunnel SSH in Java

Ho solo bisogno di tunneling. Non avrò bisogno di cose come i trasferimenti di file, l'emulazione di terminale, ecc. Esiste un semplice numero di linee che possono inoltrare una porta sul server per funzionare sulla scheda di localhost del mio cliente? Idealmente, sia client che server sarebbero in Java, ma per ora mi accontenterò solo di client.

+0

NB: Questa domanda è stata anche informativo su questo argomento: http: // stackoverflow.com/questions/3954454/fast-implementation-of-a-port-forward-in-java –

+0

ecco un esempio che ho messo insieme su un'altra domanda simile http://stackoverflow.com/a/16023513/311525 – Scott

risposta

20

Bene, come sottolineato nell'altra domanda, JSch è davvero una grande scelta e ha diversi esempi here. La classe PortForwardingL.java potrebbe essere un buon punto di partenza.

+0

I come la licenza BSD su questa libreria. Grazie per avermi indicato direttamente sul campione che avevo bisogno di vedere! – User1

16

È possibile farlo con diverse librerie. Il mio preferito è la libreria ssh all'interno pacchetto MindTerm,

http://linuxmafia.com/pub/java/ISNetworks-MindTerm-1.2.1-SCP3.tar.gz

È possibile aprire una connessione tunnel come questo,

SSHSocketFactory fact = new SSHSocketFactory(sshHost, sshPort, new SSHPasswordAuthenticator(sshUser, sshPassword)); 

    sock = fact.createSocket(host, port); 
+2

+1 Wow. Questo è molto semplice. Peccato che la licenza sia un po 'strana (il mio male per non averlo menzionato mi serve qualcosa di simile a BSD). Ho provato ad accettarlo anche come risposta, ma SO consente solo una risposta. Almeno ho aumentato la tua risposta. Grazie per l'aiuto. – User1

Problemi correlati