Digite o seguinte comando para verificar se uma chave privada e uma chave pública são um conjunto correspondente (idêntico) ou não (um conjunto correspondente) (diferente) no diretório $ USER / .ssh. O comando recortar impede que o comentário no final da linha na chave pública seja comparado, permitindo que apenas a chave seja comparada.
ssh-keygen -y -f ~/.ssh/id_rsa | diff -s - <(cut -d ' ' -f 1,2 ~/.ssh/id_rsa.pub)
A saída será semelhante a uma dessas linhas.
Files - and /dev/fd/63 are identical
Files - and /dev/fd/63 differ
Eu escrevi um shell script que os usuários usam para verificar a permissão de arquivos ~ / .ssh / e o conjunto de chaves correspondentes. Ele resolve meus desafios com incidentes de usuários que configuram o ssh. Isso pode ajudá-lo. https://github.com/BradleyA/docker-security-infrastructure/tree/master/ssh
Nota: Minha resposta anterior (em março de 2018) não funciona mais com as versões mais recentes do openssh. Resposta anterior: diff -qs <(ssh-keygen -yf ~ / .ssh / id_rsa) <(cut -d '' -f 1,2 ~ / .ssh / id_rsa.pub)