Conectando-se ao MYSQL através do túnel SSH

6

Eu posso ssh no servidor remoto e fazer o login sem problemas.

Estou tentando conectar-me a um banco de dados mysql remoto em um túnel ssh e me deparando com problemas. Eu criei o túnel com sucesso (verificado por telnet). Quando tento fazer o login com o comando:

mysql --host=127.0.0.1 -P 3302 -u fakeuser -p

Eu obtenho

Access denied for user 'fakeuser'@'192.168.100.93'

O problema é o @ 192.168.100.93. Eu acredito que eu preciso que seja fakeuser @ localhost. Desde que eu estou conectado através do túnel SSH porque não está sendo definido para localhost? Como faço para forçá-lo ao localhost? de onde está obtendo o 192.168.100.93 de?

Note que não posso alterar nenhuma configuração no servidor MySQL.

Obrigado pela ajuda!

    
por Scott W 19.06.2013 / 22:13

1 resposta

4

Quando você faz o túnel ssh, ele faz uma comunicação criptografada entre o seu sistema para o servidor remoto e liga a porta remota aberta à sua porta definida.

ssh -L 33333: localhost: 3306 [email protected]

aqui 3306 como você disse é o mysql port no.

use IPADDRESS em vez de localhost, ou seja, 127.0.0.1

Connection to 10.10.0.31 closed.
linux@tuxworld:~$ ssh -fNg -L 33333:localhost:3306 [email protected]
[email protected]'s password: 
linux@tuxworld:~$

Veja abaixo, por exemplo, o que eu fiz há pouco tempo atrás, o usuário mysql é root e o usuário ssh também é root. Eu abri um novo terminal

linux@tuxworld:~$ mysql -u root -h 127.0.0.1 -P 33333
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.69 Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> exit
Bye
linux@tuxworld:~$ 


    
por 20.06.2013 / 00:40