通过 SSH Tunnel 接入自建 MySQL 数据源(Windows)
NineData 支持通过多种连接方式添加数据源,本文详细介绍如何通过 SSH Tunnel 进行添加。
前提条件
环境说明
-
数据源服务器版本:Windows 11(10.0.22621.963) -
SSH 版本:OpenSSH_for_windows_8.6p1 -
数据源:MySQL 8.0 自建数据源
-
不同版本的 Windows 在操作上可能略有不同。 -
2018 年 4 月份之前发布的 Windows 系统中不包含 OpenSSH,您需要手动安装。最新版安装包下载地址:官方 Github。 -
如果您使用 Linux 系统,请参见通过 SSH Tunnel 接入自建 MySQL 数据源(Linux)。
步骤一:添加并启动 SSH 服务
OpenSSH Authentication Agent 和 OpenSSH SSH Server 两个服务,其中 OpenSSH Authentication Agent 默认已安装好,您只需根据本操作步骤安装 OpenSSH SSH Server 并启动两个服务即可。-
键盘键入 Win+R组合键打开运行窗口,输入fodhelper,并单击确定,打开可选功能窗口。 -
单击添加可选功能右侧的查看功能,在搜索框中输入 SSH,然后选中 OpenSSH 服务器右侧的复选框,单击下一步。提示 如果未找到任何结果,则您可能已经添加了 OpenSSH 服务器服务,可以顺着本步骤接着往下走。 -
在确认页面单击安装,并等待服务安装完成。安装完成后,需要重启您的计算机。 -
重启进入系统后,键盘键入 Win+R组合键打开运行窗口,输入services.msc,并单击确定,打开服务窗口。 -
在服务列表中找到 OpenSSH Authentication Agent和OpenSSH SSH Server服务,分别将两个服务的启动类型更改为自动并启动服务。操作步骤 -
双击目标服务,在弹出的属性窗口中(常规页签),单击启动类型右侧的下拉框,在下拉列表中选择自动。 -
在服务状态区域,如果状态为已停止,单击启动,并单击确定。如果状态为正在运行,则直接单击确定。
-
-
键盘键入 Win+R组合键打开运行窗口,输入cmd,并单击确定,打开命令行,输入netstat -an,查看22端口是否处于被监听的状态。当您在返回结果中找到如下结果时,代表 SSH 服务启动成功。TCP [::]:22 [::]:0 LISTENING
步骤二:配置 sshd_config 文件
-
用文本编辑器(例如记事本)打开 C:\ProgramData\ssh目录下的sshd_config文件。提示 ProgramData目录默认隐藏,您需要单击文件资源管理器中的 查看 > 显示 > 隐藏的项目,才能显示隐藏中的目录。
-
根据下表进行配置 
-
重启 SSH Server 服务。 -
提示 重启方法: -
键盘键入 Win+R组合键打开运行窗口,输入services.msc,并单击确定。 -
在服务列表中找到 OpenSSH SSH Server服务并双击,在弹出的属性窗口中(常规页签),依次单击停止、启动即可。
-
步骤三:生成 SSH Tunnel 密钥文件并将公钥加入到白名单文件
-
键盘键入 Win+R组合键打开运行窗口,输入cmd,并单击确定,打开命令提示符窗口。 -
执行 ssh-keygen -f <密钥文件名>命令生成密钥文件,系统提示Enter passphrase (empty for no passphrase):时,您可以选择为该密钥文件设置密码(输入密码并按回车键)或不设置密码(直接按回车键)。提示 该命令会生成如下两个文件: -
<密钥文件名>:私钥,用于验证登录者身份。 -
<密钥文件名>.pub:公钥,安装在服务器,用于配对登录者提供的私钥。
-
-
通过文本编辑器(例如记事本)打开 <密钥文件名>.pub文件,将里面的内容完全复制,并粘贴到C:\Users<您的系统登录名.ssh\authorized_keys文件中(如果不存在,请手动在该目录下创建同名文件,请注意无后缀名)。提示 -
请确保 authorized_keys文件的权限主体仅为 SYSTEM、Administrators、您当前登录系统的用户,否则会导致连接失败。您可以通过如下方法查看文件权限: -
删除权限主体的方式(接查看文件权限操作):
-
单击安全页签右下方的高级,单击禁用继承,在弹出窗口中,单击将已继承的权限转换为此对象的显式权限。 -
选中权限条目中不需要的条目,单击删除,确保剩余的权限主体为 SYSTEM、Administrators、您当前登录系统的用户,单击确定。 -
右键单击 C:\Users<您的系统登录名>.ssh目录下的authorized_keys文件,单击属性。 -
单击安全页签,查看组或用户名(G) 下方框内的权限主体。如果有多余主体,则需要手动删除。
-
步骤四:在 NineData 控制台添加数据源
-
登录 NineData 控制台。 -
在左侧导航栏,单击数据源管理>数据源。 -
在创建数据源页面,根据下表配置参数。 
-
单击创建数据源,完成数据源的添加。


