Musíte připojit MySQL k vázanému portu přesměrování. Tj. na 2222.
Nebo ještě sémanticky správnější, použijte portFwld.BoundPort
. Ekvivalentně použijte portFwld.BoundHost
.
DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
Všimněte si také, že je smysluplnější označovat hostitele MySQL jako „localhost“ spíše než „example.com“, protože název hostitele se řeší na straně serveru. A když jste na straně serveru, obvykle se nepřipojíte k „example.com“, ale k „localhost“.
var portFwld = new ForwardedPortLocal(IPAddress.Loopback.ToString(), 2222, "localhost", 3306);
A samozřejmě musíte mít relaci SSH otevřenou, dokud potřebujete tunel. Musíte se tedy připojit k DB v rámci using
blokovat:
using (var client = new SshClient(connectionInfo))
{
...
client.Connect();
...
portFwld.Start();
...
DBConnect dbConnect = new DBConnect(portFwld.BoundHost, "database", "username", "password", portFwld.BoundPort);
}