PHP通过ssh或socks5读取远程服务器的mysql数据库

克维日 2008-01-02 05:06:30
大概描述:
A:本地机器
B:远程ssh或socks5机器
C:mysql数据库所在服务器

要求:
本地A机器使用ssh或socks5连接到远程B机器上以后,再从C机器获取数据库信息。

注:
因为A不能直接访问到C机器,而B可以访问C,A只能通过ssh或socks5访问B。

请高手各个思路吧!!!
我总觉得在本地使用无法代码实现,主要还是想不通,少根筋!
还有,尽量不要在B上直接做端口转发,因为代码不好控制,如果一不小心掉线了,就没法关闭B上已经生成的端口,这样不太安全。
...全文
494 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxfcw 2010-02-25
  • 打赏
  • 举报
回复
看一下!!!!!!!
克维日 2008-02-15
  • 打赏
  • 举报
回复 1
你好,ywjrg
感谢你的方案。
但不可行,就是因为c限制IP访问(只能通过b机器访问),所以a是不可能访问到c的;
就像c是某局域网内机器,b是可能被公网访问的机器,a是另一个地方的机器,只能通过b代理来访问到c!

还是很感谢大家的支持,这个问题继续研究......

我也是用PHP开发系统的时候需要解决这个问题,目前使用的是php + javabridge + jsch的方法,
但该方法只能建立SSH2或者Socks5+SSH2的连接方式通过b将c的端口映射到a上,目前PHP中还么有较好的方法解决只使用Socks5将c的端口映射到a上,希望有大侠出来指点指点~~!!!!
坤霆 2008-01-10
  • 打赏
  • 举报
回复
不知道 楼主想解决什么问题?我理解是这样的
楼主是想通过a去浏览c(服务器)上的数据?而a无法直接访问c,只能通过b。是这样吗?

我遇到过这样的事情。我们是这样解决的。在服务器端安装个自己开发的系统,当然是web方式的(服务器都支持web方式的吧。linix可以安装的吧)。我们是用PHP开发的系统。这时候a不用通过b直接就能访问c了。


不知道这样是不是楼主想知道的~
克维日 2008-01-04
  • 打赏
  • 举报
回复
是这样的,A只能访问到B,访问不到C。可以假设A是在中国的一个客户端,B和C是美国的同一局域网内的机器,B是对外机器,C是内网机器。
不过这个问题目前我是通过php调用java方法解决的,使用java的一个SSH2 jar,通过SSH2连接到B后再将C的mysql端口转发到本地A上。
php-java桥:用的是 JavaBridge.jar(php-java-bridge_4.3.2_j2ee) http://php-java-bridge.sf.net
SSH2:用的是 trilead-ssh2-build211.jar
liugehao 2008-01-03
  • 打赏
  • 举报
回复
你把web server架在B上不就行了

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧