linux 建立ssh隧道,在Linux、Windows、macOS上创建SSH隧道并通过SSH隧道连接到MySQL
在本文中,我们将说明如何创建SSH隧道并从远程客户端连接到MySQL服务器,相同的说明也适用于MariaDB。默认情况下,MySQL服务器仅在localhost上侦听,这意味着它只能由在同一主机上运行的应用程序访问。但是,在某些情况下,你可能希望从远程位置连接到服务器,一种选择是将MySQL服务器配置为允许远程连接,但这需要管理权限,并且可能会带来安全风险,一种更安全的替代方法是创建从本地系统到服务器的SSH隧道,SSH隧道是一种在客户端和服务器计算机之间创建加密SSH连接的方法,通过该连接可以中继服务端口。
先决条件
1、SSH客户端。
2、通过SSH访问运行MySQL服务器的系统。
在Linux和macOS上创建SSH隧道
ssh客户端已预安装在大多数基于Linux和Unix的系统上。
如果你使用Linux或macOS作为操作系统,则可以使用以下命令创建SSH隧道:
$ ssh -N -L 3336:127.0.0.1:3306 [USER]@[SERVER_IP]
使用的选项如下:
1、-N-使SSH不要执行远程命令。
2、-L 3336:127.0.0.1:3306-创建本地端口转发,本地端口(3306),目标IP(127.0.0.1)和远程端口(3306)用冒号(:)分隔。
3、[USER]@[SERVER_IP]-远程SSH用户和服务器IP地址。
4、要在后台运行命令,请使用-f选项。
5、如果SSH服务器正在侦听22以外的端口(默认端口),请使用-p [PORT_NUMBER]选项指定端口。
运行命令后,系统将提示你输入SSH用户密码,输入后,你将登录到服务器,并建立SSH隧道,最好设置一个基于SSH密钥的身份验证并连接到服务器而无需输入密码。
现在,你可以将本地计算机MySQL客户端指向127.0.0.1:3336,输入远程数据库登录帐户并访问MySQL服务器。
例如,要使用命令行mysql客户端连接到MySQL服务器,运行:
$ mysql -u MYSQL_USER -p -h 127.0.0.1
其中,MYSQL_USER是具有访问数据库权限的远程MySQL用户。
出现提示时,输入MySQL用户密码。
要终止SSH隧道,请在运行ssh客户端的控制台中键入CTRL+C。
参考:安装与使用Mole在Linux CLI上创建SSH隧道的方法。
在Windows上创建SSH隧道
Windows用户首先需要下载并安装SSH客户端程序,最受欢迎的Windows SSH客户端是PuTTY,参考在Ubuntu、Debian、Fedora、Arch Linux系统中安装Putty的方法。
执行以下步骤以使用PuTTY创建到MySQL服务器的SSH隧道:
1、启动Putty,然后在主机名(或IP地址)字段中输入服务器的IP地址:
2、在“Connection”菜单下,展开“ SSH”,然后选择“Tunnels”,在“Source Port”字段中输入3306,在“Destination”字段中输入127.0.0.1:3306:
单击添加按钮添加隧道。
3、返回“Session”页面以保存设置,以便你无需再次输入设置。
在“Saved Session”字段中输入会话名称,然后单击“Save”按钮:
4、选择已保存的会话,然后单击“Open”按钮登录到远程服务器:
将显示一个新窗口,要求你输入用户名和密码,输入用户名和密码后,将登录到服务器,并创建SSH隧道。
设置公共密钥身份验证将使你无需输入密码即可连接到服务器。
现在,你可以使用本地MySQL客户端连接到远程数据库。
例如,如果你使用的是HeidiSQL,请在“Hostname / IP”字段中输入127.0.0.1,并在“User”和“Password”字段中输入MySQL用户和密码:
结论
MySQL是最流行的开源数据库服务器,仅在localhost上侦听传入的连接,创建SSH隧道可以使你从本地客户端安全地连接到远程MySQL服务器。
TAG:
除非注明,文章均由 Linux系统学习 整理发布,欢迎转载。如有版权争议,请联系删除。
文章评论
留言与评论(共有 0 条评论)
验证码:
linux 建立ssh隧道,在Linux、Windows、macOS上创建SSH隧道并通过SSH隧道连接到MySQL相关推荐
- Windows PC上创建大数据职业技能竞赛实验环境之四--客户端环境的搭建
Hadoop集群访问客户端 X window Jet brain Idea和客户端开发环境 以上环境我们将在WSL的Ubuntu docker容器中实现,其中对X和Idea的访问,通过Windows ...
- shell bash脚本_如何在Windows 10上创建和运行Bash Shell脚本
shell bash脚本 With the arrival of Windows 10's Bash shell, you can now create and run Bash shell scri ...
- 如何在Windows 10上创建和设置虚拟硬盘
在Windows 10上,虚拟硬盘文件是一个以.vhdx或者.vhd扩展名结尾的文件,其功能类似于物理硬盘. 虚拟硬盘可以用于存储包括文档.图片.视频等各种类型的文件,亦可用于存储启动文件或者用于安装 ...
- linux执行windows创建的脚本,如何在Windows 10上创建和运行Bash Shell脚本 | MOS86
随着Windows 10的到来您还可以将Bash命令合并到Windows批处理文件或PowerShell脚本中. 如果你知道你是什么Windows和UNIX使用不同的行尾字符,Windows文件系统可 ...
- win集成linux开发环境,在 Windows 10 上创建开发环境 | Microsoft Docs
在 Windows 10 上设置开发环境Set up your development environment on Windows 10 07/24/2020 本文内容 本指南将帮助你开始安装和设置 ...
- 在macOS上用supervisor构建稳定的SSH转发
之前一直使用SSH指定端口转发请求,一直能用,但是很烦.因为每次都要输入密码之类的,而且经常会断开,断开后又输密码,神烦.前几日决心解决这个问题,作为一名Python开发者,首先想到的就是superv ...
- yocto编译linux,好实用!用 Yocto 在 Ubuntu 上创建最小化 Linux 发行版
导读 本文主要聚焦在如何使用 Yocto 在 Ubuntu 上创建一个最小化的 Linux 发行版.Yocto 项目在嵌入式 Linux 的世界非常著名,这是因为它用起来非常灵活.方便.Yocto 的 ...
- Windows PC上创建大数据职业技能竞赛实验环境之五--hadoop、hive和spark编程
前述,我们在Windows WSL上,通过Docker容器技术实现了Hadoop集群环境,现在看看利用现有集群环境进行编程开发. 1 设置容器开启时自运行SSH服务 参照docker中安装Ubuntu ...
- 如何在MacOS上创建第一个iOS Flutter应用
文章目录 1.安装Flutter 2.设置iOS模拟器 3.在Flutter中创建一个Hello World应用 Google于2018年12月4日发布了Flutter 1.0,它是一款功能强大的工具 ...
- 用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序
原文:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 作者:Daniel Roth.Steve Smith ...
最新文章
- java 客户端发起http请求2
- 在CGD中快速实现多线程的并发控制
- linux下运行时链接库的路径顺序
- Java中判断数组是否包含某值
- 【2018.4.21】模拟赛之二-ssl2403 蜡烛【贪心】
- AD 文档信息设置和制作模板
- ML.NET 1.3.1 发布,.NET 跨平台机器学习框架
- 我的世界服务器经常未响应是怎么回事,【电子世界】电脑经常出现“未响应”,该怎么办?...
- 【重点递归】剑指offer——面试题18:树的子结构
- Windows Phone 7将加入复制粘贴功能
- CTRL+ALT快捷键汇总
- unity旧动画系统之animationClip/animationEvent/animationCurve
- linux 使用秘钥认证,linux 密钥验证登录
- C#编写刷机工具exe替代adb敲命令行操作
- php元换成万元,数字单位换算(元换算成万元换算器)
- 无法同步谷歌日历_这场科技发布会上,谷歌究竟更新了啥?
- JBOSS未授权漏洞详细复现
- html5和css基础知识
- PLSQL代码调试Oracle dbms_utility返回错误
- 使用 Convex 进行状态管理的指南