通过 SSH 隧道访问 MySQL 数据库
Accessing a MySQL database through SSH tunnels
我有 3 个服务器:serverA
、serverB
和 serverMySQL
。
serverMySQL
位于防火墙后面,serverB
无法访问。
serverA
可以通过 SSH 访问 serverB
和 serverMySQL
。
有什么方法可以设置 SSH 隧道,以便我能够访问位于 serverMySQL
的 MySQL 数据库?
如果 serverB 可以访问 MySQL 服务器(端口 3306 不是 SSH),您必须 运行 在 serverA:
ssh -L 3306:mysqlServer:3306 serverB
然后在serverA中配置MySQL服务器为127.0.0.1:3306
如果 serverB 只能通过 SSH 访问 MySQL 那么你必须在 serverA:运行:
ssh -L 3306:127.0.0.1:12345 serverB
然后在服务器 B 中:
ssh -L 12345:127.0.0.1:3306 serverMySQL
12345 只是任何未使用的端口(超过 1024)
我有 3 个服务器:serverA
、serverB
和 serverMySQL
。
serverMySQL
位于防火墙后面,serverB
无法访问。
serverA
可以通过 SSH 访问 serverB
和 serverMySQL
。
有什么方法可以设置 SSH 隧道,以便我能够访问位于 serverMySQL
的 MySQL 数据库?
如果 serverB 可以访问 MySQL 服务器(端口 3306 不是 SSH),您必须 运行 在 serverA:
ssh -L 3306:mysqlServer:3306 serverB
然后在serverA中配置MySQL服务器为127.0.0.1:3306
如果 serverB 只能通过 SSH 访问 MySQL 那么你必须在 serverA:运行:
ssh -L 3306:127.0.0.1:12345 serverB
然后在服务器 B 中:
ssh -L 12345:127.0.0.1:3306 serverMySQL
12345 只是任何未使用的端口(超过 1024)