Ja próbuje użyć SSH.NET stworzyć tunel od localhost:3306
do portu 3306 na zdalnym komputerze:Tworzenie przekazane portu w tunelu 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();
}
Gdy punkt przerwania jest trafiony, client.IsConnected
powraca true
, ale telnet localhost 3306
nie łączy się. Jeśli utworzę połączenie za pomocą Putty i skonfiguruję tam ten sam tunel, to się uda. Co przeoczyłem?
Czy otrzymujesz specjalne ostrzeżenie dotyczące aplikacji telnet? Czy to się zamyka? Dane połączenia binarnego mogą nie być wyświetlane ... –
Zawiesza się, nie można nawiązać połączenia. Podczas korzystania z Putty otrzymuję ciąg danych. –
Spróbuj [tego linku] (http://sshnet.codeplex.com/discussions/348423): Myślę, że problemem jest odłączenie klienta. A jeśli przełamiesz pomiędzy 'Start' i' Disconnect' możesz także zatrzymać przekazywanie. –