个人机器能够链接服务器A,A能够访问服务器B上的mysql,可是个人机器不能访问B,因此我须要创建一个我本地机器到服务器A的ssh隧道来访问服务器B上的mysql。python
理一下思路:mysql
1.我要ssh的服务器是111.112.113.114,端口是5122,帐户名是wz。web
2.而后我ssh到111.112.113.114以后要访问的mysql服务器地址是:192.168.3.51,端口号是3306 。sql
3.我打算把这个ssh隧道绑定到我本地的3307端口。shell
好了,搞明白以后咱们开始写命令:ruby
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的语法是这样的:session
ssh -fN -L(要绑定到的本地端口):(服务器B的Host):(服务器B上要访问的端口号) -p(服务器A的端口,默认为22) (服务器A的帐户):(服务器A的Host)ssh
经验证能够访问成功。另,以上的server若是写成localhost是会报错的,要设置为127.0.0.1才能够。
内容转载自:http://blog.csdn.net/qdujunjie/article/details/43701727
亲测 python shell 均可调用