概述
创建公私钥:
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为例)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复