Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Acesse remotamente o servidor MySQL pelo túnel SSH


Podemos acessar o MySQL com segurança em um sistema remoto conectando o MySQL pelo túnel SSH. Este tutorial fornece as etapas necessárias para se conectar remotamente ao servidor MySQL pelo túnel SSH usando Putty no Windows e SSH em sistemas Linux. Ele mostra como encaminhar a porta local do MySQL, ou seja, 3306 para a porta remota do MySQL, ou seja, 3306 via SSH porta 22 do sistema remoto. Isso garante que estamos nos comunicando com segurança com o servidor remoto pela porta 22, conectando a porta local 3306 à porta 3306 no servidor remoto.


Pré-requisitos




Um servidor remoto com servidor MySQL instalado nele. Você pode seguir Como instalar o MySQL 8 no Ubuntu 20.04 LTS.



Além disso, certifique-se de que a porta 22 esteja aberta e a porta 3306 esteja bloqueada pelo firewall no sistema remoto com o servidor MySQL. Este tutorial também assume que o servidor MySQL não está rodando no sistema local. Isso garante que a porta 3306 no sistema local esteja livre para encaminhamento de porta.



Também precisamos de acesso SSH ao sistema no qual o servidor MySQL está instalado e em execução. Podemos usar o nome de usuário e senha SSH ou nome de usuário SSH e a chave para se conectar ao sistema remoto.


Instale o Putty no Windows 10




Podemos usar o Putty nos sistemas Windows para acessar o servidor MySQL instalado em um servidor remoto. Caso você esteja usando um sistema baseado em Linux, você pode ir para a seção SSH.



Abra a página oficial de download do Putty para baixar o instalador MSI, conforme destacado na Fig 1.



Figura 1



Também podemos usar o executável Putty sem instalá-lo. Role a página de download para baixar o arquivo executável.



Agora inicie o Putty. As opções padrão do Putty devem ser semelhantes às da Fig 2.



Figura 2


Conexão segura ao MySQL usando Putty




Esta seção fornece as etapas para usar o Putty para conectar-se com segurança ao MySQL pelo túnel SSH a partir de um sistema remoto. Agora preencha os detalhes do host remoto conforme mostrado na Fig 3.



Figura 3



Além disso, clique em Conexão -> SSH -> Túneis conforme destacado na Fig 3. Agora preencha os detalhes de encaminhamento da porta SSH conforme mostrado na Fig 4. A porta de origem deve ser definida como 3306 e Destino deve ser definido como 127.0.0.1:3306 .



Figura 4



Clique no Botão Adicionar após preencher a porta de origem e destino. Ele atualizará as portas encaminhadas como mostrado na Fig 4. Além disso, clique na opção Auth e escolha a chave SSH conforme mostrado na Fig 5. Certifique-se de ter gerado a chave privada usando Puttygen.



Figura 5



Agora clique no Botão Abrir para abrir a conexão. Ele mostrará o alerta de segurança pela primeira vez, conforme mostrado na Fig 6.



Figura 6



Clique no Botão Sim para aceitar a conexão. Ele solicitará a senha caso você tenha definido ao gerar a chave privada. Em uma conexão bem-sucedida, ele mostrará os detalhes do sistema remoto conforme mostrado na Fig 7.



Figura 7



Além de conectar por SSH, ele também encaminhou a porta local 3306 para a porta 3306 no servidor remoto. Não feche o Putty, pois ele mantém o túnel SSH aberto para o servidor remoto. Agora inicie qualquer MySQL Client e tente se conectar ao servidor MySQL remoto. Eu usei o MySQL Workbench para fins de demonstração. A tela inicial do Workbench deve ser semelhante à Fig 8. Você também pode seguir Usando o Workbench para conectar-se ao servidor MySQL remoto pelo túnel SSH.



Figura 8



Agora clique no Ícone de adição para criar uma nova Conexão Local conforme destacado na Fig 8. Ele mostrará as opções para Adicionar Conexão conforme mostrado na Fig 9.



Figura 9



Forneça um nome de conexão e mantenha o nome do host como 127.0.0.1 e a porta como 3306 conforme mostrado na Fig 9. Agora clique em Test Connection para testar a conexão com o servidor MySQL remoto pelo túnel SSH. Ele solicitará a senha conforme mostrado na Fig 10 caso você não a tenha armazenado no Vault.



Figura 10



Agora preencha a senha e clique no Botão OK para testar a conexão. Ele deve mostrar uma mensagem de sucesso no sucesso da conexão, conforme mostrado na Fig 11.



Figura 11



Agora clique no Botão OK para fechar a mensagem de conexão e clique novamente no Botão OK para fechar o assistente de conexão. Ele adicionará a conexão à biblioteca de conexões, conforme mostrado na Fig 12.



Figura 12



Agora clique na conexão recém-adicionada. Ele deve se conectar ao servidor remoto e listar os bancos de dados do servidor MySQL remoto, conforme mostrado na Fig 13.



Figura 13



Agora podemos trabalhar no servidor MySQL remoto usando o Workbench no sistema local. Além disso, feche o Workbench e o Putty para encerrar a conexão após concluir o trabalho no servidor MySQL remoto.


Conexão segura ao MySQL usando SSH




Podemos nos conectar ao servidor MySQL remoto encaminhando a porta local 3306 para a porta remota 3306 usando o comando SSH conforme mostrado abaixo. Semelhante à seção anterior, certifique-se de que a porta local 3306 esteja livre.



Observações :Os comandos abaixo mencionados foram testados no Ubuntu Desktop. As etapas e comandos devem ser semelhantes em outros sistemas Linux.


# Shutdown local MySQL - Else use a different local port
sudo service mysql stop

# Install MySQL Client - If required
sudo apt install mysql-client

# Port Forwarding - Command
ssh -N -L 3306:127.0.0.1:3306 [USER]@[SERVER_IP]
# OR
ssh -N -L 3306:127.0.0.1:3306 -i [SSH Key] [USER]@[SERVER_IP]

# Port Forwarding - Example
ssh -N -L 3306:127.0.0.1:3306 [email protected]
# OR
ssh -N -L 3306:127.0.0.1:3306 -i example.pem [email protected]



Os comandos mencionados acima abrem o túnel SSH e conectam a porta local 3306 à porta remota 3306. Agora podemos conectar ao servidor MySQL remoto usando o cliente MySQL. Você pode consultar a seção anterior para usar o MySQL Workbench instalado no sistema local.



Além disso, consulte a Fig 14 e a Fig 15 para abrir o túnel SSH e conectar-se ao servidor MySQL remoto.



Figura 14



Figura 15


Resumo




Este tutorial forneceu as etapas necessárias para conectar-se ao servidor MySQL remoto sobre o túnel SSH para sistemas Windows e Linux.