#inslatar:
curl -sS https://getcomposer.org/installer -o composer-setup.php
# Verificar el hash de seguridad (opcional pero recomendado)

sudo apt install php-cli curl

HASH=`curl -sS https://composer.github.io/installer.sig`
echo $HASH  # Debería mostrar un hash como: 55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae
# Instalar Composer globalmente
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
# Eliminar el archivo de instalación
rm composer-setup.php

# Ejecuta esto en otra terminal para obtener la clave correcta
curl -sS https://composer.github.io/releases.pub

# Para obtener todas las claves necesarias
curl -sS https://composer.github.io/installer.sig
curl -sS https://composer.github.io/snapshots.pub

#luego haz esto:
Ejecuta: composer self-update --update-keys

ejemplo:
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBFz...
[CONTENIDO COMPLETO DE LA CLAVE]
...=
-----END PGP PUBLIC KEY BLOCK-----

Cuando te pida Enter Dev / Snapshot Public Key:

Pega SOLO el bloque de la clave (sin el hash inicial)

es decir el resultado de esto no 
curl -sS https://composer.github.io/installer.sig
el resultado de esto si va:
curl -sS https://composer.github.io/snapshots.pub

Presiona Enter

Presiona Ctrl+D (esto indica "fin del input")


#instalar claves automaticamente:
#Comando alternativo todo-en-uno:
# Forzar la actualización sin interacción
sudo COMPOSER_ALLOW_SUPERUSER=1 composer self-update --update-keys --no-interaction

# O usar echo para automatizar
echo -e "-----BEGIN PGP PUBLIC KEY BLOCK-----\n...\n-----END PGP PUBLIC KEY BLOCK-----" | composer self-update --update-keys
# Configurar timeout global de 300 segundos (5 minutos)
composer config -g process-timeout 300
composer config -g github-protocols https

# Configurar timeout para descargas
composer config -g disable-tls false
composer config -g secure-http true

Verificación:
# Probar que funcione
composer diagnose
composer --version

reinstalar
# Remover Composer completamente
sudo rm /usr/local/bin/composer
rm -rf ~/.composer

# Instalar versión específica que no requiera keys inmediatamente
curl -sS https://getcomposer.org/installer | php -- --version=2.8.11
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

composer sin vericar las cllaves no recomendado:
Solución manual definitiva:
# Primero, actualizar Composer sin verificar claves
composer self-update --no-check-keys

# Luego actualizar las claves en modo interactivo
composer self-update --update-keys

#Verificar y configurar DNS/resolución opcional no necesario:
# Probar conectividad a getcomposer.org
ping -c 4 getcomposer.org

# Probar conexión HTTPS
curl -v https://getcomposer.org/versions --connect-timeout 30

# Si hay problemas de DNS, usar Google DNS temporalmente
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "nameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf