Como Roland mencionou em sua resposta, é um aviso de que o ssh-agent
não entende o formato da chave pública e mesmo assim, a chave pública não será usada localmente.
No entanto, também posso elaborar e responder por que o aviso está lá. Simplesmente se resume ao fato de que o PuTTY Key Generator gera dois formatos diferentes de chave pública, dependendo do que você faz no programa.
Nota: Ao longo de minha explicação, os arquivos-chave que estarei usando / gerando serão nomeados id_rsa
com suas extensões apropriadas. Além disso, para conveniência de copiar e colar, a pasta pai das chaves será considerada como sendo ~/.ssh/
. Ajuste esses detalhes para atender às suas necessidades conforme desejado.
Os formatos
Link para a documentação relevante do PuTTY
SSH-2
Quando você salva uma chave usando o PuTTY Key Generator usando o botão "Salvar chave pública", ela é salva no formato definido pelo RFC 4716 .
Exemplo:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "github-example-key"
AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYF
i2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcp
pY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3
oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEA
ip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9
tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw==
---- END SSH2 PUBLIC KEY ----
OpenSSH
Ao contrário da crença popular, este formato não é salvo pelo gerador. No entanto, ele é gerado e mostrado na caixa de texto intitulada "Chave pública para colar no arquivo OpenSSH authorized_keys". Para salvá-lo como um arquivo, você deve copiá-lo manualmente da caixa de texto e colá-lo em um novo arquivo de texto.
Para a chave mostrada acima, seria:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5EwgnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8DGm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElw== github-example-key
O formato da chave é simplesmente ssh-rsa <signature> <comment>
e pode ser criado reorganizando o arquivo formatado SSH-2.
Regenerando chaves públicas
Se você estiver fazendo uso do ssh-agent
, provavelmente também terá acesso assh-keygen
.
Se você tiver sua chave privada OpenSSH ( id_rsa
arquivo), poderá gerar o arquivo de chave pública OpenSSH usando:
ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Se você tiver apenas a chave privada PUTTY ( id_rsa.ppk
arquivo), será necessário convertê-la primeiro.
- Abra o gerador de chaves PuTTY
- Na barra de menu, clique em "Arquivo"> "Carregar chave privada"
- Selecione seu
id_rsa.ppk
arquivo
- Na barra de menu, clique em "Conversões"> "Exportar chave OpenSSH"
- Salve o arquivo como
id_rsa
(sem extensão)
Agora que você tem uma chave privada OpenSSH, pode usar a ssh-keygen
ferramenta acima para realizar manipulações na chave.
Bônus: O formato de chave pública codificado por PEM PKCS # 1
Para ser honesto, não sei para que essa chave é usada, pois não precisava dela. Mas tenho isso em minhas anotações que compilei ao longo dos anos e vou incluí-lo aqui para bondade saudável. O arquivo terá a seguinte aparência:
-----BEGIN RSA PUBLIC KEY-----
MIIBCAKCAQEAhl/CNy9wI1GVdiHAJQV0CkHnMEqW7+Si9WYFi2fSBrsGcmqeb5Ew
gnhmTcPgtM5ptGBjUZR84nxjZ8SPmnLDiDyHDPIsmwLBHxcppY0fhRSGtWL5fT8D
Gm9EfXaO1QN8c31VU/IkD8niWA6NmHNE1qEqpph3DznVzIm3oMrongEjGw7sDP48
ZTZp2saYVAKEEuGC1YYcQ1g20yESzo7aP70ZeHmQqI9nTyEAip3mL20+qHNsHfW8
hJAchaUN8CwNQABJaOozYijiIUgdbtSTMRDYPi7fjhgB3bA9tBjh7cOyuU/c4M4D
6o2mAVYdLAWMBkSoLG8Oel6TCcfpO/nElwIBJQ==
-----END RSA PUBLIC KEY-----
Este arquivo pode ser gerado usando uma chave privada OpenSSH (conforme gerado em "Gerando novamente chaves públicas" acima) usando:
ssh-keygen -f ~/.ssh/id_rsa -y -e -m pem > ~/.ssh/id_rsa.pem
Como alternativa, você pode usar uma chave pública OpenSSH usando:
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m pem > ~/.ssh/id_rsa.pem
Referências: