Acabei de atualizar para o OSX 10.9 e, ao tentar estabelecer uma conexão SSH com autenticação de chave pública, aparece um prompt solicitando minha senha de chave SSH.
Inicialmente, pensei que a atualização fizesse com que o chaveiro esquecesse algumas senhas, então reinsirai as minhas. Aparentemente, essa não foi a causa, porque o prompt continuou reaparecendo.
Primeiro, porém, posso estar usando a senha errada, mas enquanto o seguinte comando:
$ ssh-keygen -vvv -y -f id_rsa >| id_rsa.pub
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase:
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
load failed
...não funciona! Se eu tentar usar o openssl:
$ openssl rsa -in id_rsa -text
Enter pass phrase for id_rsa:
Private-Key: (2048 bit)
modulus:
00:...
minha chave privada é decifrada corretamente e todas as informações são impressas.
O que aconteceu com a atualização para o Mavericks? Como posso recuperar minha chave privada em um estado utilizável?
Mesmo problema aqui, minhas chaves mostram o mesmo comportamento.
Eu rastreei o problema de volta a esta postagem do blog. Modifiquei minhas teclas ssh da maneira que foi descrita neste artigo para aumentar a segurança e funcionou sob o Mountain Lion. http://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html
Presumo que a Apple tenha mudado algo com o openssh e a versão "nova" não é capaz de ler o formato PKCS # 8 mais recente.
Versão do My Mavericks OpenSSH:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
Como não tenho outro Mac, não posso compará-lo com a versão do Mountain Lion.
fonte
/usr/bin/ssh -V
imprimeOpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011
na minha VM 10.8.0.O uso do brew openssl e openssh corrige o problema PCKS # 8 no Mavericks.
Não tenho certeza se a força que vincula o openssl quebra alguma coisa no Mavricks. Até agora, não notei nenhum problema.
fonte
Consegui corrigir esse problema simplesmente fazendo o seguinte:
Agora vá e conecte-se. Quando ele faz a pergunta padrão, adicione sim o tipo de impressão digital.
fonte
Aconteceu com esse problema. Ao tentar especificar a cifra, consegui fazê-la funcionar bem.
No Linux, ao tentar gerar pares de chaves, use o seguinte:
A chave pública agora com a cifra aes256 pode ser reconhecida corretamente pelo ssh no OSX (aqui, a minha é 10.12.1).
fonte
Você pode converter uma chave PuTTY em uma chave do OpenSSL OS X:
Digite a senha e pronto.
fonte