我是靠谱客的博主 寒冷含羞草,最近开发中收集的这篇文章主要介绍mysql跨服务器ssh查询_通过SSH通道跨机访问直接不可达服务(以MySQL为例),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

创建公私钥:

ssh-keygen -t ed25519 -C "121@ct"

约定:A代表本机,B代表可以ssh登陆的跳板机,C代表目标机(通过某个端口开通服务),C可以是B,也可以是其它B可以连接的主机

现状:C机器安装了某种服务,监听某个端口(例如MySQL,3306),但是由于安全原因,C机器只允许80,22端口访问,封掉了其它所有端口。

目标:不想在命令行下管理,想使用客户端来管理。

解决办法:使用SSH通道

命令如下:

ssh -fNg -L :local-port:remote-ip:remote-port  ssh-user@ssh-ip

如上:

local-ip: 本机A的ip,可以省略,省略后监听所有本地IP的制定端口

local-port: 本级A的port

remote-ip: 目标机器C的ip

remote-pory: 目标机器C的port

ssh-user : 可ssh登陆的机器B的用户名

shh-ip: 可ssh登陆的机器B的ip

那么该条语句的作用就是:以B为跳板(通过ssh隧道),将A机器上local-ip:local-port映射为C的remote-ip:remote-port  这样在A机器上对local-ip:local-port所做的操作就等同于在C机器上对的remote-ip:remote-port所做的操作。

remote-ip可以等于是相对于ssh-ip的地址,是对ssh-ip可见的ip,比如remote-ip=localhost,那么C就是B。

一些例子(已监听3306端口的MySQL为例):

#本地ip省略

ssh -fNg -L 3309:192.168.168.168:3306 user@8.8.8.8

#本地id省略,连接的就是8.8.8.8本地的3306端口

ssh -fNg -L 3308:localhost:3306 user@8.8.8.8

#都不省略

ssh -fNg -L localhost:3308:localhost:3306 user@8.8.8.8

#都不省略,本地绑定到指定ip(10.0.1.20是本机ip之一)

ssh -fNg -L 10.0.1.20:3307:127.0.0.1:3306 user@8.8.8.8

最后

以上就是寒冷含羞草为你收集整理的mysql跨服务器ssh查询_通过SSH通道跨机访问直接不可达服务(以MySQL为例)的全部内容,希望文章能够帮你解决mysql跨服务器ssh查询_通过SSH通道跨机访问直接不可达服务(以MySQL为例)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部