我的机器可以连接服务器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 都可调用

通过ssh隧道访问mysql(转载)的更多相关文章

  1. SQLyog通过ssh隧道连接MySQL

    1.简介 因为现在很多公司服务的数据库为了安全起见,都不允许直接连接其服务,而只能通过跳板机进行登陆到数据库.而ssh有一项非常有用的功能,即端口转发的隧道功能,让一些不安全的服务,像TCP.POP3 ...

  2. java jdbc使用SSH隧道连接mysql数据库demo

    java jdbc使用SSH隧道连接mysql数据库demo   本文链接:https://blog.csdn.net/earbao/article/details/50216999   packag ...

  3. 配置SSH隧道访问Ubuntu服务器上的MongoDB

    为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...

  4. kettle通过SSH连接Mysql数据库(SSH隧道)

    kettle通过SSH连接Mysql数据库(SSH隧道) Kettle无法直接连接使用SSH通道的MySQL,通过SSH隧道(推荐)或者需要借助工具PuTTY(不用时需要注销不推荐),具体操作如下所示 ...

  5. 通过SSH隧道的本地转发实现Django连接远程数据库

    SSH连接命令 默认连接的端口为22 1. 使用私钥 ssh -p connect_port user_name@host -i your_private_identity 2. 使用用户密码 ssh ...

  6. 利用SSH隧道技术穿越内网访问远程设备

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/11899478.html 通常,我们用于调试的计算机无法远程访问位于局域网中的待调试设备. ...

  7. ssh隧道远程连接mysql

    有时候比如一些云主机,没有开放3306端口,这里可以用ssh隧道来连接数据库,更加安全 注意点: 1.本地ssh可以登录远程服务器,(密码或者秘钥) 2.远程数据库需要赋权限给隧道端的ip 命令: s ...

  8. SSH隧道应用, 突破网络限制

    文/怡文圣美 这篇文章可以帮你解决下面三个问题: 不能直连服务器, 要先登陆跳板机, 造成客户端工具无法连接服务器. 服务器没有公网IP, 且只允许公司IP访问, 要在家里操作要先远程桌面到工作机再登 ...

  9. SSH隧道技术----端口转发,socket代理

    原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...

随机推荐

  1. 说一下集成 diagram-viewer 的心路历程 5.22.0

    1. 下载部署包文件地址:https://github.com/Activiti/Activiti/releases/download/activiti-5.22.0/activiti-5.22.0. ...

  2. QT POST/GET 发送/获取网页数据

    #include <QNetworkReply> #include <QNetworkRequest> QNetworkAccessManager *m_accessManag ...

  3. Kafka 简单实验一(安装Kafka)

    Apache Kafka - 安装步骤 步骤1 - Java安装 希望您现在已经在您的计算机上安装了Java,因此您只需使用以下命令进行验证. $ java -version 如果您的计算机上成功安装 ...

  4. Ajax的原理和应用

    这篇文章中,我将从10个方面来对AJAX技术进行系统的讲解. 1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google sugg ...

  5. javascript => 方法的简写形式

    https://segmentfault.com/a/1190000002904199 => 是function的简写形式,支持expression 和 statement 两种形式.同时一点很 ...

  6. spark完全分布式集群搭建

    最近学习Spark,因此想把相关内容记录下来,方便他人参考,也方便自己回忆吧 spark开发环境的介绍资料很多,大同小异,很多不能一次配置成功,我以自己的实际操作过程为准,详细记录下来. 1.基本运行 ...

  7. mybatis常用jdbcType数据类型以及对应的JavaType

    1.MyBatis 通过包含的jdbcType类型 BIT.FLOAT.CHAR .TIMESTAMP . OTHER .UNDEFINEDTINYINT .REAL .VARCHAR .BINARY ...

  8. 【android相关】【问题解决】R.java文件丢失

    在进行android开发过程中,有时候,我们会遇到gen文件中R.java丢失的现象.重新build,或者clean工程,close并重新打开Project,但有时也没解决. 这可能是由于不小心把xm ...

  9. lodash camelCase 驼峰写法

    _.camelCase([string='']) 转换字符串为 驼峰写法 _.camelCase('Foo Bar'); // => 'fooBar' _.camelCase('--foo-ba ...

  10. UVA 11534 - Say Goodbye to Tic-Tac-Toe(博弈sg函数)

    UVA 11534 - Say Goodbye to Tic-Tac-Toe 题目链接 题意:给定一个序列,轮流放XO,要求不能有连续的XX或OO.最后一个放的人赢.问谁赢 思路:sg函数.每一段.. ...