Achei que não seria possível visualizar o conteúdo de um arquivo de chave privada protegido por senha sem realmente inserir uma senha.
Surpreendentemente, ainda posso ver o conteúdo do meu arquivo de chave privada, mesmo que esteja bem protegido por senha. Passos:
$ ssh-keygen -t ed25519 -o -a 100
Em seguida, insiro minha senha. Eu espero um pouco. O processo está finalizado, então eu faço cat
da seguinte forma:
$ cat id_ed25519
Para minha grande surpresa, posso ver claramente minha chave privada.
Eu queria saber se era bem protegido por senha. Então, eu fiz o seguinte:
$ ssh-keygen -p -f ./id_ed25519
Na verdade, eu tenho que inserir minha senha “antiga”. Caso contrário, ele não reconhece!
Estou esquecendo de algo? Se meu entendimento estiver correto, se meu arquivo de chave privada estiver criptografado, não devo ver seu conteúdo em um editor de texto, certo? Estou completamente perplexo.
Sistema: MacOS Le Capitan, Homebrew
Há uma diferença entre uma chave criptografada (que é protegida por senha) e uma chave não criptografada. Todas as chaves ainda são arquivos de texto simples. Abaixo, gerei uma chave, sem senha, e a protejai adicionando uma senha, e você pode ver como o conteúdo do arquivo no disco é diferente:
A chave real é a mesma, mas um agente de chave não poderá usar a última chave até que eu a desbloqueie com minha senha. De qualquer forma, eu possuo o arquivo e ele deve existir no disco, o que significa que ele pode ser exibido (por exemplo, com
cat
).Você também pode ver quando eu exponho a chave revisada que ela mostra explicitamente que está criptografada.
Você sempre poderá (e precisará) 'ver' o conteúdo do seu arquivo de chave privada, mas ele é criptografado, então deve parecer sem sentido. O que você precisa ter certeza é que apenas você (ou seja, seu id de usuário) pode vê-lo. Para fazer isso você precisa:
Além disso, você provavelmente desejará manter suas chaves privadas em seu próprio diretório para que você possa chmod no diretório também.