设为首页 收藏本站
查看: 677|回复: 0

[经验分享] 利用SSH隧道方式连接远程MySQL

[复制链接]
发表于 2018-9-30 12:14:35 | 显示全部楼层 |阅读模式
  1、简介:
  大多数人知道SSH是用来替代R命令集,用于加密的远程登录,文件传输,甚至加密的FTP(SSH2内置),因此SSH成为使用极广的服务之一,不仅如此,SSH还有另一项非常有用的功能,就是它的端口转发隧道功能,利用此功能,让一些不安全的服务象TCP、POP3、SMTP、FTP,LDAP等等通过SSH的加密隧道传输,然后,既然这些服务本身是不安全的,密码和内容是明文传送的,通过使用SSH隧道传输的话再想在其中间监听也是徒劳无功的了。本文主要介绍通过SSH隧道连接远程Mysql服务器,SSH隧道更详细的文章参见:官方关于SSH隧道的介绍文章
  2、使用Windows客户端连接
  下面介绍使用windows系统下比较流行的MySQL终端工具SQLyog Enterprise,通过SSH隧道连接Mysql服务器。如下图:
  新建连接
  MySQL标签页
  SSH标签页
  3、linux命令行下使用ssh命令建立SSH隧道
  mysql服务器地址为:192.168.99.52
  本机地址为:192.168.99.91
  前提
  将本机的ssh public key复制到mysql服务器中,也就是将本机的id_rsa.pub内容添加到mysql服务器的~/.ssh/authorized_keys文件中。我这里用命令实现。
  利用 ssh-keygen 命令 生成本机id_rsa.pub文件
  # ssh-keygen 连续回车生成id_rsa.pub 文件
  将id_rsa.pub文件复制到mysql服务器中
  # ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.99.52
  开始挖隧道
  利用ssh命令在本机开个3388的端口,这个端口为隧道的入口端口,也就是说我一会儿通过在本机连接这个端口来达到连接mysql服务器3306端口的目的。使用命令如下:
  ssh -NCPf root@192.168.99.52 -L 3388:192.168.99.52:3306
  参数解释
  -C    使用压缩功能,是可选的,加快速度。
  -P    用一个非特权端口进行出去的连接。
  -f    一旦SSH完成认证并建立port forwarding,则转入后台运行。
  -N    不执行远程命令。该参数在只打开转发端口时很有用(V2版本SSH支持)
  这里的root@192.168.99.52 是登陆mysql服务器的SSH用户名和IP地址-L 3388:192.168.99.52:3306 这个参数的意思是说在本机开放3388端口到192.168.99.52:3306端口的映射,也就是说隧道的入口为3388出口为mysql服务器的3306
  执行完后查看本地连接情况
  # netstat -tulnp | grep 3388
  tcp    0    0 127.0.0.1:3388    0.0.0.0:*    LISTEN    14273/ssh
  tcp    0    0 ::1:3388    :::*    LISTEN    14273/ssh
  查看本机与mysql服务器的ssh连接情况
  # netstat -an | grep 192.168.99.52
  tcp    0    0    192.168.99.91:7612    192.168.99.52:9698    ESTABLISHED
  通过这两条命令可知,执行完命令之后,本机与mysql服务器就建立起了ssh连接,且开放了3388端口。
  通过隧道连接MySQL服务器
  # mysql -u dbname -P 3388 -h 127.0.0.1 -pdbpwd
  Enter password:
  Welcome to the MySQL monitor.  Commands end with ; or \g.

  Your MySQL connection>  Server version: 5.1.31-log Source distribution
  Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  dbname@192.168.99.52 [(none)] >show databases;
  连接成功!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-606721-1-1.html 上篇帖子: 安装两个MYSQL数据库方法 下篇帖子: Apache2+MySQL+Php+Tomcat整合安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表