mysql - 无需 SSH 访问即可隧道连接到 Mysql

标签 mysql ssh portforwarding tunnel

从我的本地计算机,我可以通过 SSH 访问服务器 A。 到达服务器 A 后,我通过服务器 B 上的端口 3306 连接到服务器 B 上的 mysql。

mysql -h <B.hostname>  -P 3306 -u <username> -p

我无法通过 ssh 访问服务器 B,无论是从我的本地计算机还是从服务器 A。

我想做的是从我的本地计算机访问服务器 B 上的 mysql。我发现的每个隧道/端口转发链接都假设我可以通过 ssh 连接到服务器 B。

最佳答案

ssh 的 -L 需要一个本地端口、一个从您连接的 ssh 服务器连接的远程主机名以及远程端口。在这种情况下,您将运行:

ssh -L 3307:B.主机名:3306 A.主机名

这将使 ssh 连接到 A,当您稍后使用本地 mysql 客户端连接到端口 3307 (mysql -H localhost -P 3307 -u ...) 时,A 的 sshd 将启动为您提供到 B.hostname:3306 的连接。

关于mysql - 无需 SSH 访问即可隧道连接到 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17277017/

相关文章:

java - JSch 多个隧道/跳跃站

django - Virtualbox guest 端口转发问题上的 Win7 主机和 Ubuntu 服务器

kubernetes - 将 kubernetes 服务中的传入端口映射到 docker 容器上的不同端口

mysql - 如何根据部分匹配在 MySql 中加入?

php - 重复功能

ubuntu - 尝试使用 Capistrano 进行部署,但远程计算机上的 ssh-agent 无法保持我的身份加载,因此 git 命令失败;为什么?

linux - 是否可以从另一个 ssh 节点连接 ssh 节点?

php - 在另一列不同的情况下对另一列的值求和

MySql 在使用带有模式的函数 WEEK() 时返回错误

bash - mysqldump bash 脚本在密码 "command not found"处停止