通过ssh隧道访问mysql(转载)

我的机器可以连接服务器A,A可以访问服务器B上的mysql,但是我的机器不能访问B,所以我需要建立一个我本地机器到服务器A的ssh隧道来访问服务器B上的mysql。

理一下思路:

1.我要ssh的服务器是111.112.113.114,端口是5122,账户名是wz。

2.然后我ssh到111.112.113.114之后要访问的mysql服务器地址是:192.168.3.51,端口号是3306 。

3.我打算把这个ssh隧道绑定到我本地的3307端口。

好了,搞明白之后我们开始写命令:

andy@AndyMacBookPro:/usr/local/webdata/andy/shop/jd/job$ ssh -fN -L3307:192.168.3.51:3306 -p5122 wz@111.112.113.114
wz@111.112.113.114's password:
andy@AndyMacBookPro:/usr/local/webdata/andy/shop/jd/job$ lsof -i:3307
COMMAND  PID USER   FD   TYPE            DEVICE SIZE/OFF NODE NAME
ssh     1114 andy    5u  IPv6 0xaed4b8ceeaf7e51      0t0  TCP localhost:opsession-prxy (LISTEN)
ssh     1114 andy    6u  IPv4 0xaed4b8cfd6dcef1      0t0  TCP localhost:opsession-prxy (LISTEN)
andy@AndyMacBookPro:/usr/local/webdata/andy/shop/jd/job$

可以看到最后已经建立了两个隧道,命令成功!

其中ssh的语法是这样的:

ssh -fN -L(要绑定到的本地端口):(服务器B的Host):(服务器B上要访问的端口号) -p(服务器A的端口,默认为22) (服务器A的账户):(服务器A的Host)

感谢以下资料: 
http://blog.csdn.net/nrc_douningbo/article/details/18618311

经验证可以访问成功。另,以上的server如果写成localhost是会报错的,要设置为127.0.0.1才可以。

 

 

 内容转载自:http://blog.csdn.net/qdujunjie/article/details/43701727

 亲测   python shell 都可调用   

posted @ 2018-01-11 17:17  贺呵呵  阅读(642)  评论(0编辑  收藏  举报