从Tableau桌面到postgres的SSH隧道 - 用户名和密码无效

时间:2014-11-25 10:54:36

标签: tableau

我正在尝试使用SSH隧道将Tableau连接到postgres数据库。我采取的步骤是

  1. 在桌面上安装postgres驱动程序(32位)
  2. 在putty中创建隧道(隧道L5432 127.0.0.1:5432)并打开终端
  3. 从这个会话中我可以从命令行运行Postgres psql -d mydb -U myuser
  4. 但是,在尝试使用Tableau进行连接时,我收到错误消息"无效的用户名和密码"
  5. 如果我尝试连接到不存在的数据库,我会收到相同的错误消息"无效的用户名和密码"
  6. 我还创建了一个具有超级用户权限的psql用户,但没有成功。请注意,ssh隧道和psql db的用户名是不同的。

    我在论坛上看到了一些没有解决方案的帖子。

    有人可以帮忙吗?感谢。

    罗杰

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,略有不同,我没有使用PuTTY,而是使用Cygwin Autossh。

答案是需要构建两个隧道,首先是从本地主机到服务器的ssh隧道,然后是从服务器端口到数据库端口。一个可能的解决方案是设置像这样的ssh隧道: 5432:localhost:5432 username @ hostserverdomain

第一个5432是本地端口(Tableau或PGAdmin),第二个localhost实际上是指服务器(cuz一旦登录localhost就意味着服务器本身),第二个5432是服务器上的数据库。并且为了访问数据库,必须登录服务器。 以上只是使用ssh通过两个隧道连接的语法。

起初我不明白Roger对两条隧道的意义,然后我研究了基础方法,最后完成了所有的设置工作。谢谢罗杰!