Sto tentando di usare SSH.NET per creare un tunnel dalla localhost:3306
alla porta 3306 su una macchina remota:Creazione di un porto trasmessa all'interno di un tunnel SSH
PrivateKeyFile file = new PrivateKeyFile(@" .. path to private key .. ");
using (var client = new SshClient(" .. remote server .. ", "ubuntu", file))
{
client.Connect();
var port = new ForwardedPortLocal(3306, "localhost", 3306);
client.AddForwardedPort(port);
port.Start();
// breakpoint set within the code here
client.Disconnect();
}
Quando il punto di interruzione viene colpito, client.IsConnected
sta tornando true
, ma telnet localhost 3306
non si sta connettendo. Se invece creo la connessione usando Putty e installo lo stesso tunnel, ha successo. Cosa mi sono perso?
Viene visualizzato un avviso specifico per l'applicazione telnet? Si chiude? I dati di connessione binaria potrebbero non essere visualizzati ... –
Si blocca, non riuscendo a connettersi. Quando utilizzo Putty ottengo una stringa di dati. –
Prova [questo collegamento] (http://sshnet.codeplex.com/discussions/348423): Penso che disconnettere il client sia il problema. E se interrompi tra 'Start' e' Disconnect' puoi anche fermare l'inoltro. –