Puedes verificar todos los pasos. Parece que están bien. Verdaderamente, no debe de ser el firewall, porque en ese caso lo que tendrías es un timeout en el intento de conexión.
Lo que tienes que mirar también es que en el servidor donde tienes MySQL o MariaDB no tengas activada una configuración que te hace que solo puedas conectar por localhost. No sé si al lanzar el comando "mysql_secure_installation" se crea esa configuración pero muy probablemente sí.
La configuración que estoy comentando la tienes en el archivo "/etc/mysql/my.cnf".
Si editas ese archivo podrás buscar una línea donde aparece lo siguiente:
bind-address = 127.0.0.1
Esa línea la tienes que comentar. Para ello tienes que colocar un signo "# al principio". Tiene que quedar así:
# bind-address = 127.0.0.1
Luego reinicias MySQL / MariaDB de nuevo para que ese cambio tenga efecto.
Prueba entonces a conectar desde el servidor remoto de MySQL. No deberías tener problemas.