首页 > 数据库 >利用ssh 隧道代理服务器本地端口,实现远程连接服务器本地数据库

利用ssh 隧道代理服务器本地端口,实现远程连接服务器本地数据库

时间:2023-08-11 15:00:54浏览次数:39  
标签:0.0 代理服务器 ssh 本地 WshShell 服务器 root

ssh隧道代理

写这篇文章的原因是因为在开发中,遇到了需要对线上服务器数据进行调试,为方便在本地使用图形化工具。

mysql,redis总所周知是不允许远程连接数据库的,我们就无法在本地对服务器数据进行调试。所以就可以利用ssh 工具进行隧道代理本地调试数据。

废话不多说直接开干,上代码

windows vbs脚本版

windows10 需要安装ssh才能使用
windows11 自带ssh无需安装

Set WshShell = WScript.CreateObject("WScript.Shell")

' 激活控制台窗口(假设窗口标题为 "Command Prompt",可以根据实际情况修改)
WshShell.Run "cmd.exe"

' 等待一段时间,以确保控制台窗口已激活
WScript.Sleep 1000

' 输入字符串
WshShell.SendKeys "ssh -L 0.0.0.0:33356:localhost:3306 [email protected] -o ServerAliveInterval=10"

' 模拟回车键
WshShell.SendKeys "{ENTER}"

' 等待一段时间,以等待命令执行完成 服务器密码
WScript.Sleep 1000
WshShell.SendKeys "123456"

WshShell.SendKeys "{ENTER}"

' 关闭控制台窗口(示例中使用 Alt + F4 快捷键)
' WshShell.SendKeys "%{F4}"

解读关键代码

ssh -L 0.0.0.0:33356:localhost:3306 [email protected] -o ServerAliveInterval=10

ssh -L 这里是本地ip建议写0.0.0.0或者127.0.0.1:本地端口只要不被占用的都行:服务器的IP一般建议写localhost:你要使用的服务器上服务端口号例如mysql的3306 root@这里是服务器的ip例如10.0.0.201 -o ServerAliveInterval=10
ssh 命令除了登陆外还有三种代理功能:

ssh -L 正向代理(-L):相当于 iptable 的 port forwarding
SSH -R 反向代理(-R):相当于 frp 或者 ngrok
SSH -D socks5 代理(-D):相当于 ss/ssr

linux 系统使用

终端打开直接执行命令
ssh -L 0.0.0.0:33356:localhost:3306 [email protected] -o ServerAliveInterval=10
输入密码

linxu想要使用开启自动执行命令

#路径 exp:root用户
cat /root/.bash_profile
#路径 exp:zhangs用户
ssh -L 0.0.0.0:33356:localhost:3306 [email protected] -o ServerAliveInterval=10
# 直接代码写进行去就行,前提是吧ssh公钥放入到目标服务器

标签:0.0,代理服务器,ssh,本地,WshShell,服务器,root
From: https://www.cnblogs.com/clever-cat/p/17622967.html

相关文章

  • Qt 一文带你了解qt的三种 渲染引擎,包括栅格引擎(Raster)、OpenGL 和本地绘图系统
    概述Qt提供了多种渲染引擎,包括栅格引擎(Raster)、OpenGL和本地绘图系统。选择哪种引擎主要取决于你的应用程序需求和你的硬件环境。栅格引擎(Raster):这是Qt的软件渲染引擎,它在CPU上执行所有的绘图操作。栅格引擎在所有平台上都提供了一致的视觉效果,但可能会比硬件加速的引......
  • 两分钟带你学会ssh免密登录(git)
    欢迎访问幸福拾荒者,一个前端知识总结分享平台,与大家一起共同成长共同进步!......
  • cjt本地账号密码修改脚本
    cjt本地账号密码修改脚本cjt本地账号密码修改sql脚本您好:方法一替换成a123456--查询相关用户的ID账套库执行需要有clouduserid的用户在专属云中才能进入。selectid,CloudUserId,*fromeap_user--对应用户的密码修改成a123456如查询出来的用户ID等于xxx账套执行updateE......
  • mac 进入虚拟环境并加载本地模块到虚拟环境下
    1.cd到虚拟环境目录1769cdbossjob-recruiter1770ls1771cdbin1775./activate1776sourceactivate激活虚拟环境2.进入当前目录下下载本地模块1787cdbossjob-auth-lib1788ls1789pythonsetup.pyinstall或pipinstall-e.只针对把公共代......
  • git 本地仓库关联远程仓库
    #初始化gitinit#关联远程仓库[email protected]:idiv/[project].git#先从远程仓库拉取gitpull--rebaseoriginmaster#提交gitpush-uoriginmaster#-------------------------------------------------------------#强制合并gitpullorig......
  • Mac重启后ssh-key失效问题
    Mac重启后ssh-key失效问题周日重启了下电脑,今天周一上班拉代码才发现没有权限Permissiondenied(publickey,gssapi-keyex,gssapi-with-mic).到ssh目录ssh-add-l一看,好家伙,所有的ssh-key都没有了网上百度了一波发现解决方案1、Windows处理方案在git的根目录中找到bash.ba......
  • SIT1024Q 四通道本地互联网络(LIN)收发器
    SIT1024Q是一款四通道本地互联网络(LIN)物理层收发器,符合LIN2.0、LIN2.1、LIN2.2、LIN2.2A、ISO17987-4:2016(12V)和SAEJ2602标准。主要适用于使用1kbps至20kbps传输速率的车载网络。SIT1024Q通过TXDx引脚控制LINx总线的状态,可将协议控制器的发送数据流转换......
  • Android使用Rxjava获取本地存储的txt文件
    废话不多说,直接上代码:publicclassReadLocalFileActivityextendsAppCompatActivity{privateListViewlistView;privateList<File>files=newArrayList<>();privateArrayAdapteradapter;@OverrideprotectedvoidonCreate(@Nullab......
  • 本地branch: DevTest push 到 远程分支: SmokeTest 失败, 可以尝试 git rebase
    1. 本地branch:DevTestpush到远程分支:SmokeTest gitpushoriginDevTest:SmokeTest失败:![rejected]DevTest->SmokeTest(fetchfirst)error:failedtopushsomerefsto'gitlab.fftech.info:eastern/platform-extensions/sales-channel/store-operation-ins......
  • conda、pip从本地安装包
    conda去这下包:https://anaconda.org/condainstall--use-local/home/pku/app/d2l-0.17.6-pyhd8ed1ab_0.tar.bz2pip去这下包:https://pypi.org/pipinstall/home/pku/app/包.whlwhl与tar.bz2就是包的两种格式,别管......