O OS X Keychain continua solicitando minha senha de SSH, mesmo que eu a salve (OS X 10.6.8) [duplicado]

20

Toda vez que faço login em um servidor remoto com SSH, o chaveiro do OS X solicita que eu lembre da senha do SSH. Digito a senha e marque a caixa para lembrá-la. Em seguida, conecto-me ok ao servidor, mas na próxima vez em que for solicitado novamente e assim por diante ...

Eu tenho uma chave privada para ssh no meu servidor e a conexão funciona. No meu arquivo hosts, tenho:

Host myhost
    HostName xxx.xxx.xxx.xx
    GlobalKnownHostsFile ~/.ssh/known_hosts
    port 22
    User myuser
    IdentityFile ~/.ssh/mykey_dsa
    IdentitiesOnly yes

.. e então eu digito ssh myhost

Este é apenas um problema recente, por isso desconfio e tenho problemas com o Keychain? Para ser claro, eu posso "adicionar novamente" às ​​chaves sempre e conectar, mas isso prejudica o objetivo. As permissões na minha chave dsa estão definidas em 600 ou-rw-------@

Tentei reparar as permissões do disco, mas isso não adiantou. Meu Google-foo também está falhando comigo, nada de útil surgiu. Portanto, não tenho certeza se isso é um problema do OS X / keychain ou um SSH.

update: Quando tento ssh -vvv myhost, acho que revela o problema:

debug1: Trying private key: /Users/danny/.ssh/mykey_dsa
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug3: Not a RSA1 key file /Users/danny/.ssh/mykey_dsa.
debug1: read PEM private key done: type DSA
Identity added: /Users/danny/.ssh/mykey_dsa (/Users/danny/.ssh/mykey_dsa)
debug1: read PEM private key done: type DSA
debug3: sign_and_send_pubkey
debug2: we sent a publickey packet, wait for reply
debug1: Authentication succeeded (publickey).

... e depois disso eu me conecto. Eu acho que esse ponto crucial da questão é:

PEM_read_PrivateKey failed

Atualização 2: Depois de tentar a mesma chave e configurações em outro Mac com 10.6.8, tudo funcionou bem, então eu acho que essa é uma pergunta específica do Mac, possivelmente um problema de chave de permissão.

Atualização 3 Também tentei uma instalação limpa do Mountain Lion (10.8.1) e, infelizmente, o mesmo problema que não entendo totalmente.

Possivelmente relacionado: https://discussions.apple.com/thread/3518441?start=0&tstart=0

Atualização 4 Esta é a resposta

Danny Englander
fonte
11
Tente ssh -v[v] myserverobter informações detalhadas sobre o erro.
@ansi_lumen Tentei ssh -vvv e postei os resultados acima. Eu acho que o problema é, PEM_read_PrivateKey failedmas não sei por que, gerei essa chave como todas as outras que são adicionadas ao chaveiro e ficam lá.
Danny Englander
11
Isso foi corrigido para mim: apple.stackexchange.com/a/26252/17690 #
Danny Englander
2
ssh-add -K
corrigi-

Respostas:

13

Resposta copiada de /apple//a/26252/17690


Verifique se você possui um correspondente id_rsa.pubou id_dsa.pubem seu ~/.sshdiretório.

Quando eu tinha um, id_rsamas não um correspondente id_rsa.pub, o Mac OS X continuava aparecendo na caixa de diálogo e lembre-se de que a senha no meu chaveiro não fazia nada.

cd ~/.ssh
ssh-keygen -y -f id_rsa > id_rsa.pub

gerou o arquivo de chave pública apropriado para mim.

Se você já possui seu arquivo público (renomeie para outro nome) e gere a chave pública novamente usando o comando acima, você perceberá que o gerado e o antigo não são iguais. De alguma forma, as versões mais antigas do Mac OS X geravam uma chave pública da qual o Lion não gosta mais, e a geração novamente corrige isso.

Para os curiosos, a chave é exatamente a mesma, a parte que muda é que não há mais seção de "comentários" após a chave no arquivo.

TalkLittle
fonte
Isso me ajudou a chegar até lá, mas eu também estava colando uma chave privada e não estava sendo dividida no espaço em branco, estava tudo em uma linha. Depois de resolver isso, o mesmo problema que o OP estava tendo foi resolvido.
Cameron Gagnon