Preferiria o modo ssh-keygen -y -e -f <private key>
em vez da resposta aceita de Como você testa um par de chaves DSA pública / privada? no Stack Overflow.
ssh-keygen -y -e -f <private key>
usa uma chave privada e imprime a chave pública correspondente, que pode ser comparada diretamente às suas chaves públicas disponíveis. (Dica: cuidado com comentários ou opções-chave.)
(Como está fazendo isso? Eu só espero que a chave pública seja codificada direta ou indiretamente na chave privada ...)
Eu mesmo precisava disso e usei o seguinte one-liner da Bash. Não deve sair nada se as chaves estiverem juntas. Aplique um pouco de -q
ao diff nos scripts e o diff apenas define o código de retorno apropriadamente.
PRIVKEY=id_rsa
TESTKEY=id_rsa.pub
diff <( ssh-keygen -y -e -f "$PRIVKEY" ) <( ssh-keygen -y -e -f "$TESTKEY" )