Estou tentando configurar o tunelamento SSH em um servidor web remoto para outro servidor MySQL para que o banco de dados possa ser navegado facilmente com o MySQL Query Browser. Estou seguindo esta página, mas não consigo me conectar ao servidor MySQL.http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/
O que eu fiz:
- conectado ao servidor web com Putty via SSH.
- digitado
ssh -L 33060:[database]:3306 [myusername]@[webserver_address]
onde [...] são alterados pelas informações reais. Me pediram uma senha, digitei e recebi a seguinte mensagem. Parece que o login foi bem-sucedido.
soquete: Protocolo não suportado
Último login: .... 2012 de .... Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 Os Regentes da Universidade da Califórnia. Todos os direitos reservados.
FreeBSD 7.1-LANÇAMENTO....
Bem-vindo ao FreeBSD!
Abri o MySQL Query Browser no Windows e digitei
Server Host:
host local
Port:
33060
UserName:
meu nome de usuário
PassWord:
minha senha
E diz,
Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)
Desculpe se isso é muito básico. Obrigado pela sua informação.
Responder1
Como você deseja acessar um sistema remoto a partir do host Windows do qual está usando o Putty, você precisa criar o túnel dentro do Putty, não no sistema remoto.
Configurar um túnel no Putty é bastante simples.
- Massa aberta
- Carregue sua sessão salva, se tiver uma, ou insira qualquer informação de conexão.
- Role para baixo até Conexão -> SSH -> Túneis
- Defina a porta de origem para
33060
- Defina o destino como o IP do servidor de banco de dados seguido
:3306
da porta mysql. Então, algo como192.168.1.1:3306
. - Clique em 'Adicionar'
- Clique novamente na guia da sessão e escolha salvar ou simplesmente clique em abrir para iniciar a conexão
Uma vez conectado, inicie seu aplicativo de banco de dados e, a partir do aplicativo, tente conectar-se a um servidor que esteja escutando 127.0.0.1:33060
.
Responder2
EDIT: Acabei de ver que você está usando uma string de conexão errada:
ssh -L 33060:[database]:3306 [myusername]@[webserver_address
Experimente com:
ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address
A opção -4 força o uso de IPv4 e o localhost é o destino da porta de ligação (no seu caso DEVE ser locahost)
Conecte-se usando localhost:33060 e credenciais remotas.
Isso deve funcionar!
Caso contrário, verifique a configuração do daemon ssh do seu servidor para isso:
AllowTcpForwarding yes
Caso contrário, conecte-se ao seu servidor com a ssh -vv user@host
opção, isso lhe trará mais algumas informações, se você perceber que a porta de ligação falhou, pelo menos você deverá ver o motivo.