当前位置: 首页 > 知识库问答 >
问题:

无法通过ssh隧道通过Jedis连接到redis

金承嗣
2023-03-14

我有两台机器:machine foo(10.0.0.1)运行redis服务器,而machine bar(192.168.0.1)运行通过Jedis连接到foo的java应用程序。当给jedis提供地址10.0.0.1时,一切都很好。

但是我不信任foo和bar之间的路由器,redis也不支持SSL。因此,我设置了一个从bar到foo:user@bar$ssh-n-f-l localhost:6379:localhost:6379user@foo的ssh隧道

现在,从bar中,我可以直接在10.0.0.1或通过隧道在127.0.0.1成功地telnet到foo上的redis。对于jedis,如果我使用127.0.0.1,我会得到异常java.net.ConnectException:Connection Delection,但是jedis可以成功地连接到10.0.0.1

我怎么才能说服杰迪斯使用ssh隧道?

共有1个答案

万俟华辉
2023-03-14

使用jedis的java应用程序是一个集群应用程序,我对应用程序的哪一部分启动jedis感到困惑。一旦我在主主机而不是从主机上启动ssh隧道,它就像预期的那样工作了。

 类似资料:
  • 问题内容: 我已经在两个服务器 A 和 B 之间建立了SSH隧道。 B 有MySQL服务器,这可行: 虽然这不是: 尽管my.cnf具有以下几行: 现在关于隧道。它连接以下内容: 但是当(在 A上 ,端口转发)时,我会 我懂了 当我这样做 我懂了 可能是什么原因?我究竟做错了什么? 问题答案: 这里有三个问题。 1-暂时忘记SSH隧道 您不能将MySQL绑定到多个特定IP。第一个子句被第二个子句覆

  • 我想通过ssh隧道与具有localhost访问权限的用户连接到远程MySQL。 我用这个做隧道: 和这个连接到主机: 我得到的错误是: 问题是用户“user”@“remote-host”(或“user”@“%”)不存在,只有“user”@“localhost”存在。 有没有办法强迫远程主机在不进行服务器端修改的情况下认为我来自本地主机?这是我通过ssh隧道进行连接的唯一原因。 注: 如果要连接此命

  • 问题内容: 我的目的是连接到位于防火墙后面的服务器(主机)。我可以通过连接到网络中的另一台服务器(隧道)然后通过SSH到该服务器来访问此服务器。但是,我无法通过JSch实现相同的方案。 我无法为此编写以下代码。如果我在这里做任何愚蠢的事情,请告诉我。 上面的代码在行中给出了以下异常。 问题答案: jsch上的代理设置允许您连接到远程端上 正在运行的 代理服务器。一个在远程端将 不 被视为一个代理。

  • 我想使用RazorSQL连接到我的数据库,该数据库正在远程服务器上运行。我使用以下命令在本地主机上创建SSH隧道: 我通过RazorSQL的GUI配置连接,将本地主机指定为主机,将1111指定为端口。当我单击“Connect”(连接)时,出现以下错误消息: 其中是远程服务器的IP地址。 此外,我不允许更改我的pg_hba的内容。conf文件。这就是目前的情况: 是否可以使用我当前的设置,在不修改服

  • 同时,我尝试使用mysql workbench进行连接,它会立即拒绝连接。让我想,它甚至连连接ssh tunel的机会都没有,在本地被拒绝了。

  • 修复(编辑代码以反映我所做的更改) 我正在尝试使用Java通过SSH隧道连接到Mongo数据库。 我正在使用Mongo驱动程序3.0.2和jcraft(JSch)创建一个SSH隧道。我的想法是: 通过SSH连接到托管MongoDB安装的机器 设置从本地端口到远程MongoDB端口的端口转发 远程连接到MongoDB 我的代码如下所示: 这段代码在运行时, 不 EDIT:有效。 连接到SSH服务器工