我正在寻找一种从我的localhost:8081 (jasperserver)连接到我的mysql DB所在的远程服务器的方法。我在MySQL工作台中通过SSH (唯一的方式)连接到数据库,它工作得很好。我做了很多研究,我发现我需要在我的本地机器上创建一个SSH隧道,但是怎么做呢?如何通过ssh连接到我的jasperserver?当我尝试ssh localhost:8081时,它显示‘连接被拒绝’。我已经为windows安装了openssh。我也试过了,它的工作原理和jasper很相似,连接方法也是一样的。谢谢..。
发布于 2014-10-02 17:19:52
正确设置通道的方法如下:
ssh <user>@<host that has access to database> -L <local port>:<db server>:<remote port>
然后连接到localhost:<local port>
。
示例:您的数据库服务器db.mydomain.com
在端口3306上运行,但您无法访问该端口。您首先需要以用户“ssh
”的身份登录到另一台机器myproxy.mydomain.com
,该用户可以访问数据库服务器上的端口3306。在那台机器上,尝试
mysql -h db.mydomain.com -P 3306 -u <your db username> -p<your db password> <db name>
以验证对数据库的访问。然后从设置隧道开始:
ssh username@myproxy.mydomain.com -L 3306:db.mydomain.com:3306
一旦建立了SSH连接,您就可以使用URL localhost:3306
或127.0.0.1:3306
连接到您的数据库。
隧道所做的就是使用您的代理计算机作为中继,将本地计算机上端口3306的流量重定向到远程数据库服务器的端口3306。
https://stackoverflow.com/questions/26118724
复制相似问题