程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子

在写上篇【分享HeidiSQL通过22端口连接阿里云上的MySQL数据库】时没有真正吃透工作原理,只是依样画葫芦,通过这个例子彻底搞懂了运作原理,搞定了每一步的操作,希望这个分享可以让人更容易看明白。
在前一篇分享里提到MySQL的端口3306被阿里云列为不安全端口,同时FTP的端口21也被阿里云列为不安全端口,所以为了安全起见我们应该关闭3306和21端口,前提是你有这个能力。
在这里想通过gnucash的例子来展示工作原理,如果你理解了工作原理,就可以发挥到你所需要的场景中,不需要再花时间爬网了!!
方法一、gnucash 客户端通过默认端口3306连接到服务器上的MySQL,前提是服务器上要开通端口3306,具体详情很简单,也不是本文的内容,所以略过。
方法二、gnucash 客户端透过SSH Tunnel / SSH 安全隧道端口22连接到服务器上的MySQL;
步骤:a. 先建立工作电脑和服务器之间SSH Tunnel / SSH 安全隧道;
b. 然后在应用程序的客户端gnucash做相应设置。
a. 建立SSH Tunnel / SSH 安全隧道有很多种方法(Putty, Xshell,plink等),在此介绍在win10下Putty的用法,见下图进入Tunnels界面:
程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子_第1张图片在Source port后面填 3307 ->工作电脑上的端口为3307,(注意这个端口,这是可以根据需要变更的);
Destination后面填 localhost:3306, 这是指服务器上的设置,然后点击 Add。
然后进入Session界面如下图:
程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子_第2张图片在Host Name下面填你的服务器域名或IP地址,如果这时使用Saved Sessions来存储的话会更方便,但不是必须的;
然后点击 Open就进入下面的界面:
程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子_第3张图片当然你得在服务器上事先设置好相应的系统用户(不是数据库用户),这时就可以用用户名和密码来建立SSH Tunnel / SSH 安全隧道,只要正常登录就建好SSH 安全隧道了。
验证是否一切正常请看下图:
程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子_第4张图片
在Win10上查看端口有好多张图,具体请看网友的分享。如果可以看到3307端口打开,就说明SSH Tunnel / SSH 安全隧道建好了,如果没有3307就得查看哪里出错了,按上面的步骤再来一遍。
从这个上面的步骤可以看出,FTP端口21也可以这么来操作。原理是一样的。
更多关于SSH Tunnel 请看这个链接,更多关于SSH Tunnel。

b. 在应用程序的客户端gnucash做相应设置
先进入下面gnucash界面:
程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子_第5张图片由菜单->打开,进入下面界面:
程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子_第6张图片注意:数据库(名称) / 用户名 / 口令(密码) 都是服务器上的设置
主机:用localhost或者127.0.0.1,3307跟Putty中的设置对应;这个是指工作电脑这端,通过工作电脑的3307端口进入putty的SSH Tunnel,然后从服务器那头出来,再连接服务器上的3306端口进入MySQL数据库,是不是很安全?!
如果所有参数准确无误,就可以进入gnucash工作界面
程序客户端如何透过安全隧道SSH/端口22连接服务器上的MySQL数据库-用gnucash例子_第7张图片大功告成!
如果真正理解了,那么针对如何程序都可以以此类推搞定!

你可能感兴趣的:(工作环境)