Imansible connettersi a mysql su AWS tramite tunnel ssh

Sto cercando di abbattere il task di eseguire il debug di AWS sulla rubimmina in piccoli pezzi. Vorrei collegarmi al server mysql in esecuzione su AWS. Così ho fatto quanto segue:

innanzitutto: stabilire un tunnel ssh per inoltrare tutte le richieste localhost alla port 3307 alla port 3306 su AWS:

  • Errore di connessione AWS: authorization negata (publickey)
  • Ho avuto un'interruzione di corrente. Ora il file di block di MySQL non andrà via. Che cosa suggerisci?
  • È pericoloso lasciare un collegamento ssh aperto in un terminal per lunghi periodi di tempo?
  • Cosa devo sapere prima di andare in diretta con un database InnoDB?
  • sshd ha rifiutato l'authentication delle chiavi
  • AWS EC2 e build-essential
  • ssh -l ubuntu -i 'path/to/private/key/privateKey.cer' -L 3307:aws.port:3306 aws.port -N -v -v 

    seconda: collegarsi a mysql sulla port 3307

     mysql -h 127.0.0.1 -P 3307 -u root -p 

    problema: esso non riesce con il seguente errore sulla macchina host:

     ERROR 1130 (HY000): Host '178.135.138.61' is not allowed to connect to this MySQL server 

    e il registro su AWS esegue questo:

     debug1: Connection to port 3307 forwarding to 54.193.1.19 port 3306 requested. debug2: fd 7 setting TCP_NODELAY debug1: channel 2: new [direct-tcpip] channel 2: open failed: connect failed: Connection refused debug2: channel 2: zombie debug2: channel 2: garbage collecting debug1: channel 2: free: direct-tcpip: listening port 3307 for 54.193.1.19 port 3306, connect from 127.0.0.1 port 64938, nchannels 3 

    gli appunti:

    • Ho assicurato che il gruppo di protezione del server aws che sto collegando per permettere le connessioni ssh sulla port 22
    • Ho assicurato che /etc/hosts.deny su AWS non dispone di localhost o 127.0.0.1 elencati.

    idee?

    One Solution collect form web for “Imansible connettersi a mysql su AWS tramite tunnel ssh”

    Il messaggio di errore

     ERROR 1130 (HY000): Host '178.135.138.61' is not allowed to connect to this MySQL server 

    viene da MySQL. Per consentire l'accesso remoto alla root dell'utente, è necessario specificare questo per il particolare database, sul server mysql

     mysql -u root -p mysql> grant all privileges on somedatabase.* to 'root'@'178.135.138.61' identified by 'somepassword'; mysql> flush privileges; 

    Questo permetterà alla root di username di connettersi a mysql da 178.135.138.61 con tutti i privilegi su somedatabase.

    Si dovrebbe probabilmente leggere la documentazione di MySQL Security in particolare i capitoli di controllo di accesso e di gestione degli utenti .

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.