我需要访问我实验室远程服务器上的 MySQL 数据库。该服务器只有在我登录到远程网络上的网关服务器后才能访问:
local server => gateway server => MySQL server.
我可以使用端口 24222 SSH 到网关。
我正在使用 PERL DBI模块。这是我在实验室时用来连接的:
my $host="1.2.3.4";
my $database="dbname";
my $user="user";
my $pw="pass";
my $table="table";
我想我必须建立一条通过网关服务器到数据库服务器的隧道。我该怎么做呢?如果 MySQL 数据库在网关上,我可以像这样打开一个隧道:
$ ssh -f user@gateway -L 3307:127.0.0.1:3306 -N
如何修改它以通过网关上的开放端口 24222 通过隧道连接到 1.2.3.4 上的 MySQL 服务器?
更新:
使用@anttir 的回答我得到了它的工作如下。
设置隧道:
$ ssh -fN -p 24222 user1@11.12.13.14 -L 3307:1.2.3.4:3306
设置脚本变量:
my $host="127.0.0.1"; my $port = 3307;