Gracias a Code Friendly
, y quiero compartir cómo resolví mi problema.
Cuando actualicé postgresql
desde la aplicación Synaptic, se instaló la versión postgresql 10. Así que tuve dos versiones de postgresql (10 y 9.6) instaladas en mi máquina debian. Postgresql 9.6
escuchando en el puerto 5432
. Postgresql 10
escuchando en el puerto 5433
en lugar de 5432.
Cuando ejecuto el comando msfconsole
en una terminal, aunque metasploit se conecta a la base de datos msf en el puerto 5432, aparece el siguiente mensaje de error:
root@kali:~# msfconsole
[-] Fallo al conectar con la base de datos: no se pudo conectar al servidor: Conexión rechazada
¿El servidor se está ejecutando en el host "localhost" (::1) y acepta conexiones TCP/IP en el puerto 5432?
Desinstalé la versión 9.6 de postgresql desde la aplicación Synaptic, pero el problema persiste (postgresql 9.6 ya no aparece en la lista de software instalado de Synaptic);
Pero al ejecutar el comando que sigue vemos que la versión postgresql 9.6 no se desinstaló completamente:
root@kali:~# dpkg -l | grep postgresql
ii postgresql 10+187 all base de datos SQL de objetos relacionales (versión soportada)
ii postgresql-9.6 ** all base de datos SQL de objetos relacionales, servidor versión 9.6
ii postgresql-10 10.0-1+b1 amd64 base de datos SQL de objetos relacionales, servidor versión 10
ii postgresql-client-10 10.0-1+b1 amd64 programas de front-end para PostgreSQL 10
ii postgresql-client-common 187 all gestor para múltiples versiones de cliente PostgreSQL
ii postgresql-common 187 all gestor de clúster de bases de datos PostgreSQL
ii postgresql-contrib 10+187 all facilidades adicionales para PostgreSQL (versión soportada)
Con el siguiente comando, postgresql-9.6 se desinstala completamente:
root@kali:~# sudo apt-get --purge remove postgresql-9.6
Luego edité el archivo /etc/postgresql/10/main/postgresql.conf
, cambié el número de puerto a 5432 y el problema se solucionó.
Aparece otro mensaje de error:
Creating initial database schema /usr/local/bin/bundle:22:in ``load': cannot load such file -- /usr/lib/ruby/exe/bundle (LoadError) from /usr/local/bin/bundle:22:in `
Descubrí que la causa era que hay dos (2) versiones de Ruby instaladas en mi máquina debian, versiones (2.2 y 2.3).
Al igual que antes, desinstalé la versión 2.2 de Ruby desde la aplicación Synaptic y el problema se resolvió, metasploit se inicia sin problemas.