我有兩臺機器:機器foo(10.0.0.1
)正在運行redis服務器,並且機器欄(192.168.0.1
)正在運行通過jedis連接到foo的java應用程序。給予傑迪斯地址10.0.0.1
時一切正常。無法通過SSH隧道通過Jedis連接到redis
但我不信任foo和bar之間的路由器,而redis不支持ssl。所以我成立了一個SSH隧道從酒吧爲foo:[email protected]$ ssh -N -f -L localhost:6379:localhost:6379 [email protected]
現在,從酒吧,我可以成功地遠程登錄到FOO直接在10.0.0.1
以上在127.0.0.1
隧道Redis的。用jedis,如果我使用127.0.0.1
,我會得到例外java.net.ConnectException: Connection refused
,但jedis可以成功連接到10.0.0.1
就好了。
我該如何說服jedis使用ssh隧道?
嘗試用該地址替換該命令中的兩個「localhost」實例,看看是否有效。 – 2013-02-25 20:49:15
爲了實驗的緣故,我嘗試將ssh命令更改爲'ssh -N -f -L *:6379:10.0.0.1:6379 user @ foo'。它似乎沒有任何區別,這並不奇怪,因爲我已經證實ssh隧道正在使用telnet。 – Jesusaurus 2013-02-25 21:18:23