Essencialmente, o que você está procurando é abrir uma porta TCP em uma máquina local que se conecta ao banco de dados MySQL em execução em uma máquina remota; com o tráfego tunelado pelo SSH.
Estou assumindo que você já pode se conectar à máquina de remoção via SSH; essa é uma questão diferente todos juntos. Eu não tenho o Windows, tão nu comigo, mas aqui está como configurar o túnel em Putty: link
Para configurar o túnel, você precisa ...
- Conheça a porta em que o MySQL está escutando.
- Escolha uma porta local para se conectar (se você não tem o MySQL rodando localmente, você pode usar o mesmo número de porta.
Quando o túnel estiver aberto, configure sua conexão com o MySQL no Python para usar a porta local .
Por exemplo, se você estivesse se conectando com o cliente MySQL, o comando ficaria assim: mysql -uUSER -pPASSWORD --port LOCAL_PORT DATABASE
. Isso estabeleceria uma conexão com o localhost, que o SSH interceptará e encaminhará para a instância remota do MySQL.