Eu costumava ssh-keygen -t rsa
gerar um par de chaves. A chave pública é armazenada no arquivo "id_rsa.pub", que contém "ssh-rsa AAA...idJ[e-mail protegido]".
Então eu usei ssh-keygen -y
(mencionado emcomo posso verificar minha senha RSA?) para obter a chave pública SSH. No entanto, a chave pública obtida usando este método contém apenas "ssh-rsa AAA...idJ". (ou seja, não tem a última parte "[e-mail protegido]")
Gostaria de perguntar por que existe uma diferença na chave pública gerada por meio desses dois métodos.
Responder1
Não há diferença na chave em si.A última parte é um campo de “comentário”.
Se você estiver usando o id_rsa
arquivo de chave no formato tradicional (aquele que começa com "RSA PRIVATE KEY"), ele simplesmente não tinha nenhum local padrão paralojao comentário, então o ssh-keygen não tem de onde obtê-lo. (É um formato de chave genérico que o OpenSSH adotou porque sua biblioteca de criptografia já o possuía.)
O "novo" formato de chave privada OpenSSH (aquele que diz "OPENSSH PRIVATE KEY")faztenha um campo de comentários e o ssh-keygen pode extraí-lo perfeitamente. Se quiser converter sua chave privada, você pode usá-la ssh-keygen -p
nas novas versões do OpenSSH; ssh-keygen -o -p
em comentários um pouco mais antigos, seguido pela definição de um novo comentário usando ssh-keygen -c
.