Witam,
próbuję się połączyć do bazy postgresql przy pomocy tunelowania SSH.
dane, który używam są prawidłowe, ponieważ mogę się połączyć przez pgAdmin III.
Gdy łączę się z poziomu kodu otrzymuje informację ""Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia".
Proszę o pomoc, poniżej mój kod.
private static string Server = "localhost";
private static string Port = "9999";
private static string User = "user_name";
private static string Password = "password";
private static string Database = "database_name";
private static void GetDataSSH()
{
PasswordConnectionInfo connectionInfo = new PasswordConnectionInfo("host_name", 7878, "user_name", "password");
connectionInfo.Timeout = TimeSpan.FromSeconds(30);
using (var client = new SshClient(connectionInfo))
{
try
{
client.Connect();
client.RunCommand("ssh -L9999:localhost:5432 user_name@host_name -p 7878");
NpgsqlConnectionStringBuilder cs = new NpgsqlConnectionStringBuilder();
cs.Password = Password;
cs.Port = 9999;
cs.Host = Server;
cs.Database = Database;
cs.Username = User;
NpgsqlConnection conn = new NpgsqlConnection(cs);
conn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Console.Read();
}