通过 MySQL Workbench 的 SSH 隧道

Mic*_*ulc 8 ssh ssh-tunneling mysql mysql-connection

我的新生产服务器只能通过 ssh 双隧道看到。我可以通过 Ubuntu 的 14.04 控制台访问targetHost,只需执行命令ssh targetHost而不是在远程机器上执行 mysql cli,但我想通过 gui Workbench 访问 MySQL db。如何在 Workbench 中配置连接来实现呢?

我的.ssh/config

Host targetHost,  firewallHost
    User username
    IdentityFile /home/michalszulc/.ssh/id_rsa

Host targetHost
    proxycommand ssh -W %h:%p firewallHost

Host firewallHost
    hostname firewallHost.example.com
    port 2201
    passwordauthentication no
    controlmaster auto
    controlpath ~/

Host targetHost
    Hostname 123.123.123.123
Run Code Online (Sandbox Code Playgroud)

Jua*_*cia 4

过程很简单。\n创建新连接并选择连接方法 Standard TCP / IP over SSH。\n提供隧道的 SSH 服务器的值 \xe2\x80\x8b\xe2\x80\x8b:

\n\n
    \n
  • SSH主机名:建立SSH隧道的服务器地址(SSH服务器和MySQL可以是同一主机或同一网络地址,这取决于配置)。
  • \n
  • SSH 用户名:SSH 服务器中的用户名。
  • \n
  • SSH 密码:SSH 服务器中的用户密码(如果配置了模式密码验证)。
  • \n
  • SSH 密钥文件:包含用于在服务器上进行身份验证的私钥的文件(如果您PasswordAuthentication在 SSH 服务器上启用了策略,则其值为no)。
  • \n
\n\n

值 \xe2\x80\x8b\xe2\x80\x8b 用于连接到 DBMS MySQL。

\n\n
    \n
  • MySQL 主机名:MySQL 运行服务的主机相对于 SSH 服务器的地址。如果 SSH 和 MySQL 服务运行在同一主机上,则东向值为 localhost 或 127.0.0.1,因为一旦建立通过隧道的连接,MySQL 服务就会侦听来自 localhost 的请求(取决于指令中设置的值)bind_adressMySQL)。
  • \n
  • MySQL Server Port:连接MySQL的端口,一般为3306。
  • \n
  • MySQL 用户名:连接MySQL 的用户名,即它必须是MySQL 的有效用户并被授权从隧道连接。
  • \n
  • 默认架构:相当于 SQL USE。
  • \n
\n