如何通过 ssh 隧道建立 ODBC 连接?

如何通过 ssh 隧道建立 ODBC 连接?

我可以通过防火墙通过 SSH 访问 iSeries(DB2 数据库)。我尝试使用 ODBC 对机器中的数据库进行查询。

我找到了几个表格来解释协议使用的端口,但不知道如何处理这些信息。如果我可以通过 ssh 访问机器,有没有办法将流量重定向到 odbc 使用的端口?

http://search400.techtarget.com/answer/What-TCP-ports-are-used-by-ODBC-to-connect-to-the-DB2-400

答案1

因此,假设您的 PC 上运行着数据库客户端,那么您可以创建一个 ssh 隧道,在您的 PC 上设置端口以反映数据库服务器上运行的端口。然后指示您的客户端查询您的本地主机。以下是如何为其中一个端口(例如 8471)设置隧道:

ssh -L 8471:本地主机:8471

在这种情况下,“localhost”指的是服务器,而不是您的 PC。如果您愿意,可以将“localhost”替换为服务器 IP 地址。

设置此隧道后,如果您在 PC 上“telnet”到端口 8471,它将连接到数据库服务器端口 8471。

您必须对列表中的每个端口重复此操作。

如果数据库服务器需要在连接字符串中使用自己的主机名,那么你可能会遇到问题。如果是这样,你需要欺骗你的客户端,让它认为 PC 的主机名与数据库服务器的主机名相同。

相关内容