SSH隧道Win10本地端口转发访问远程服务器的数据库

2021-03-23 14:43:24 浏览数 (1)

本文主要介绍两部分内容:

  1. 如何通过SSH隧道端口转发的方法,实现本地端口访问远程服务器MySQL数据库;
  2. 如何保持SSH连接。

业务背景说明 由于爬虫的时候使用了VPN,使得我的IP地址发生改变,从而导致无法访问服务器数据库(有IP地址限制),所以希望通过端口转发的方式解决这个问题。

1.端口转发

我的本地环境为Win10,假设我想转发的本地端口为9006,服务器数据库地址为10.0.0.11:3306,那么只需要在Win10上打开Windows Powershell,输入以下命令:

代码语言:javascript复制
ssh -fNg -L 9006:10.0.0.11:3306 root@10.0.0.11

执行以上命令后,接着输入服务器root账户的密码,成功之后就可以通过访问本地端口的方式访问服务器数据库。也就是说你只需要访问localhost:9006就能够连接到10.0.0.11:3306

连接服务器MySQL数据库

不知道如何安装Powershell的可以这篇文章windows通过OpenSSH将数据库端口映射本地方法!。

2.保持连接

完成了第一个步骤之后,我们还需要通过设置让SSH保持连接,否则的话长时间不使用该端口,SSH连接就会自动关闭。 ssh保持连接这篇文章中介绍了两种方法,一种是通过修改服务器配置的方法,另一种则是通过修改本地配置的方法,我选择了修改本地配置。

我们需要找到本地Win10的ssh_config配置文件,打开后在最后面新增两行配置:

代码语言:javascript复制
TCPKeepAlive yes
ServerAliveInterval 300

前一个参数是说要保持连接,后一个参数表示每300秒发一个数据包到服务器表示“我还活着”。

经过上面两个步骤,所有操作就已经完成了。

0 人点赞