通过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 都可调用