Os dados assinados são o valor mágico de 6 bytes SSHSIG, a string do namespace (por exemplo, git ou file), um campo reservado, o algoritmo de hash (sha256 ou sha512) e o digest da mensagem; o namespace impede que uma assinatura feita para uma finalidade seja reaproveitada em outra. A saída vem em armadura ASCII entre -----BEGIN SSH SIGNATURE----- e -----END SSH SIGNATURE----- e contém a chave pública, por isso os verificadores precisam conferi-la com uma lista confiável em vez de aceitar a chave embutida.
O comando ssh-keygen -Y verify -f allowed_signers -I identity -n namespace -s file.sig verifica uma assinatura; -Y find-principals associa uma assinatura a identidades. Chaves Ed25519, ECDSA, RSA (com rsa-sha2-*) e FIDO sk- funcionam, então uma chave de segurança pode assinar commits com um toque. O verificador de assinaturas SSH executa as mesmas verificações localmente.