Eu tenho um servidor de banco de dados MySQL bind-address
definido como 10.xyz (IMPORTANTE: não escuta no host local etc.)
Os nós da web podem se conectar e usar o MySQL sem problemas.
Agora estou tentando acessar o MySQL da minha máquina local.
Primeiro configure um túnel com:
ssh -N -L 3306:10.x.y.z:3306 user@dbserver
Agora tente mysql:
mysql -h 10.x.y.z -u dbuser -p
Ele trava por um longo tempo e finalmente retorna com "Não é possível conectar ao servidor MySQL em '10.xyz:3306' (110)".
Se eu usar SSH no servidor, posso me conectar ao mysql perfeitamente. Ou com
mysql -u dbuser -p
ou com
mysql -h 10.x.y.z -u dbuser -p
Eu também confirmei que /etc/ssh/sshd_config
foi
AllowTcpForwarding
definido como yes
.
O que estou fazendo de errado com a parte do túnel?
Use o
localhost
como destinoO túnel ssh com a opção -L configura o host local como o endereço quando o endereço IP local é omitido. Veja este como fazer para obter detalhes
Primeiro configure um túnel com:
Inicie o mysql:
Agora deve funcionar.