Túnel para MySql via workbench não funciona quando o túnel ssh funciona

2

Estou tentando acessar um servidor mysql por meio de um túnel SSH. Meu entendimento é que isso deve ser suportado nativamente no Mysql Workbench (5.2.35 no Ubuntu 10). Os seguintes trabalhos:

Abra o shell

ssh -f [email protected] -L 33187:server.domain.com:3306 -N

Abra o MySql Workbench

conecte-se ao host local usando a porta 33187 usando o método de conexão "TCP / IP padrão"

O seguinte não funciona:

elimine qualquer redirecionamento de porta ssh para começar com um slate limpo.

Open Mysql Workbench

Escolha o método de conexão "TCP / IP padrão sobre SSH"

Insira as seguintes variáveis de conexão (que aparecem para alinhar com o comando ssh trabalhando anteriormente:

  • Nome do host SSH: server.domain.com
  • Nome de usuário do SSH: jblow
  • Senha SSH: senha do jblow em server.domain.com
  • Nome do host do MySQL: localhost (ou 127.0.0.1, tentei nos dois sentidos)
  • Porta do servidor MySQL: 33187

A meta final é fornecer um arquivo de configuração do workbench que contenha a configuração apropriada (menos senhas) para muitos servidores que os usuários (devs) podem simplesmente colocar em suas máquinas e acessar facilmente os DBs apropriados através de conexões existentes listadas na primeira página do mysql workbench. Na pior das hipóteses eu posso dar-lhes um script bash para colocar no seu .bashrc mais o arquivo de configuração do workbench ... mas eu prefiro um arquivo se eu puder, especialmente porque eu tenho usuários no Windows, se eu posso usar uma configuração do workbench arquivo, em seguida, será essencialmente o mesmo procedimento para usuários do Windows e para usuários do Linux.

NOTA: O objetivo é ter o mapa do ambiente de trabalho mysql de 3306, que é a porta no servidor remoto para alguma outra porta localmente (como acontece no exemplo do comando ssh). Colocar 3306 como a Porta do Servidor MySQL causa um erro porque o 3306 não está disponível em minha máquina local (porque está executando uma instância local do mysql). Depois de olhar isso ainda mais, parece que isso não é possível. Se eu matar a instância local do servidor mysql (liberando a porta 3306), o mysql workbench pode se conectar usando 3306 como a porta do servidor mysql (que é a porta correta na máquina remota), mas não parece ser uma maneira de suportar instância local do mysql e uma conexão remota via ssh somente através do mysql workbench, já que ele gera conflitos de porta. Usar o mapeamento de portas requer algumas entradas do iptables ou fazer o tunelamento ssh separadamente da configuração do workbench mysql.

    
por Robert 31.10.2011 / 17:54

2 respostas

1

Você está fazendo o encaminhamento de ssh para trás, ou seja, encaminhando a porta local 3306 para 33187, use -R localhost: 33187: server.domain.com: 3306. Para o ambiente de trabalho, use a Porta 3306 do Servidor MySQL e o Nome do Host MySQL: localhost

O que especificamente é o erro que você está recebendo, estou tendo um problema usando uma porta ssh personalizada, por exemplo, SSH Hostname server.mydomain.com:13711 o workbench por qualquer motivo não tenta realmente uma conexão (verificada observando os logs)

    
por 22.06.2013 / 11:55
0
MySQL Hostname: localhost (or 127.0.0.1, tried it both ways)
MySQL Server Port: 33187

Altere para:

MySQL Hostname: server.domain.com
MySQL Server Port: 3306

e tente novamente.

    
por 31.10.2011 / 18:08