Saltar al contenido
ecdsa.com
OpenSSH ssh-keygen -Y verify (SSHSIG)SSH

Mensaje de error

Signature verification failed: incorrect signature

También se muestra como

  • Couldn't verify signature: namespace does not match
  • Could not verify signature.

Un principal que no figura en el archivo de firmantes permitidos para esta clave falla solo con «Could not verify signature.» (sin ninguna línea de detalle antes).

OpenSSH ssh-keygen -Y verify (SSHSIG) — also used by Git for SSH-signed commits

Qué significa

`ssh-keygen -Y verify` comprobó una firma SSHSIG y la verificación criptográfica falló: los datos leídos de la entrada estándar no son exactamente los que se firmaron, o la firma se hizo con otra clave. Las firmas SSH también quedan vinculadas a un espacio de nombres (`file`, `git`, `email`…); una firma verificada con otro espacio de nombres falla con «namespace does not match» antes de la comprobación criptográfica. Cada fallo va seguido de «Could not verify signature.».

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Verificar los bytes exactos con el espacio de nombres correcto

    Pasa el archivo original por una tubería a `ssh-keygen -Y verify` y usa el espacio de nombres con el que se firmó. `find-principals` muestra a qué identidad corresponde la clave.

    bash
    # Verify exactly the bytes that were signed, with the namespace used at signing time
    ssh-keygen -Y verify -f allowed_signers -I release@example.com -n file -s release.txt.sig < release.txt
    # Which principal does the allowed_signers file map this signature's key to?
    ssh-keygen -Y find-principals -f allowed_signers -s release.txt.sig
  2. 2.

    Separar la criptografía de la confianza

    `check-novalidate` verifica la firma sin consultar los firmantes permitidos. Si pasa, el problema está en la asociación de identidades; si falla, lo incorrecto son los datos o la firma.

    bash
    ssh-keygen -Y check-novalidate -n file -s release.txt.sig < release.txt   # signature valid at all (no trust check)?

Errores relacionados

Explorar toda la base de datos de errores de firma