У меня есть база данных postgres на удаленном компьютере, которую мне нужно использовать
Чтобы войти на этот компьютер, я делаю это как обычно,
ssh <myuser>@<subdomain.domain.com> -p <custom port>
После входа в систему я должен снова
ssh <someServerName>
Тогда я могу сделать
psql -U postgres -W
и попасть в базу данных
Короче говоря, мне нужно сделать ssh something
дважды
Можно ли подключиться к этой базе данных , используя ядро платформы сущностей ?
Дополнительный вопрос: будет ли это называться sh tunnel?
Решение
Это называется Port Fowarding
using (var client = new SshClient("<public ip>", <port>, "<myuser>", "<mypassword>"))
{
client.Connect();
var port = new ForwardedPortLocal("localhost", 5432, "10.0.0.5", 5432);
client.AddForwardedPort(port);
port.Start();
using (var conn = new NpgsqlConnection("Server=localhost;Database=<secret>;Port=5432;User Id=postgres;Password=<secret>;"))
{
conn.Open();
}
port.Stop();
client.Disconnect();
}