J'ai réussi à me connecter avec :
tunnel = sshtunnel.SSHTunnelForwarder((ssh_host, 22), ssh_password=ssh_password, ssh_username=ssh_username,
remote_bind_address=('localhost', 3306))
tunnel.start()
Apparemment, la différence était de garder le tunnel ouvert au lieu d'utiliser l'instruction "avec", bien que je ne comprenne pas ce qui s'est réellement passé et j'apprécierais une explication.