Erro SSH: tipo de chave desconhecida '----- BEGIN'

8

Estou tendo problemas ao usar chaves autorizadas para o login SSH em um servidor remoto. As mensagens de erro que recebo são assim:

OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xx.xx.xx [xxx.xx.xx.xx] port 22.
debug1: Connection established.
debug3: Not a RSA1 key file /Users/bfenker/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
...
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /Users/bfenker/.ssh/id_rsa type 1
ssh_exchange_identification: Connection closed by remote host

Outras perguntas neste site postaram perguntas semelhantes, e a solução foi, normalmente, verificar novamente todas as permissões no lado do cliente, o que eu fiz:

drwxr-xr-x+ 23 bfenker          staff   782 May  8 11:02 bfenker
drwx------   8 bfenker          staff   272 May  8 10:05 .ssh
-rw-------   1 bfenker  staff  1675 May  8 09:51 id_rsa
-rw-r--r--   1 bfenker  staff   418 May  8 09:51 id_rsa.pub
-rw-------   1 bfenker  staff   999 May  8 09:46 identity
-rw-r--r--   1 bfenker  staff   663 May  8 09:46 identity.pub
-rw-r--r--   1 bfenker  staff   416 May  8 09:06 known_hosts

Eu posso usar a chave autorizada para SSH em outro servidor e deste servidor SSH no servidor que eu quero. Esta é uma solução passável que estou tentando corrigir, mas acho que também mostra que tanto meu cliente quanto o servidor estão configurados bem.

Note que quando eu SSH é bem sucedido em um servidor diferente, recebo as mesmas mensagens de erro, mas parece recuperar começando com as linhas:

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0

Alguém sabe por que isso funciona em alguns casos, mas não no caso que eu quero? Qualquer outra sugestão seria muito apreciada!

    
por fenkerbb 08.05.2013 / 18:28

5 respostas

11

Necroquestion! Com base no fato de que você pode usar essa chave para efetuar login em outro servidor, @ michael-hampton está na trilha correta: há algo (firewall / tcp wrappers / sshd config) no servidor de destino que está negando o acesso. Toda essa conversa sobre formatos de chave incorretos é um arenque vermelho baseado na interpretação incorreta das informações de depuração. A linha

debug1: identity file /Users/bfenker/.ssh/id_rsa type 1

indica que o ssh conseguiu entender a chave.

    
por 15.07.2014 / 00:37
8

Sua chave SSH é armazenada no formato errado. O OpenSSH usa chaves que são colocadas em uma única linha. Você precisa das opções ssh-keygen com -i e -m , consulte man ssh-keygen . Provavelmente um destes:

ssh-keygen -m RFC4716 -i -f /Users/bfenker/.ssh/id_rsa

Use a saída como novo arquivo de chave ( ssh-keygen ... >newkeyfile ).

Editar 1:

Por favor, lembre-se: "Esta opção irá ler um arquivo chave privado (ou público) não criptografado "

Então, provavelmente o arquivo deve ser alterado para um sem passphrase por um programa que entenda esse formato.

    
por 08.05.2013 / 19:24
1

Primeiro, você deve checar seus logs do sshd. ou seja,

less /var/log/secure

Dependendo do arquivo de distribuição unix com log de segurança pode ser diferente. Mas quando você descobrir se, ele deve informar o motivo pelo qual você não pode fazer o login.

    
por 14.07.2014 / 23:49
1

Eu também enfrentei esse problema recentemente. No meu caso, todas as permissões estavam corretas, incluindo .ssh, o arquivo rsa, diretório home e tudo relacionado ao usuário. O problema era que eu tinha uma chave pública gerada anteriormente em .ssh que não correspondia à chave privada que eu usava para login. Remover a chave pública de .ssh resolveu o problema.

Eu estava usando o ssh-keygen para criar o diretório .ssh que resultou nessa chave de publicação e, consequentemente, no problema.

    
por 30.10.2018 / 17:27
0

Eu tive o mesmo problema no meu MacBook Pro com o MacOS 10.7.5. Não havia nada de errado com as minhas chaves, é só que elas são criptografadas (com uma senha, como você deveria fazer) e não estavam sendo descriptografadas pelo ssh corretamente. Parece que ssh-agent está com problemas.

De acordo com este artigo , tente isto:

  1. Coloque /usr/bin/ssh-agent em seus itens de login (Preferências do sistema - > Usuários e grupos - > selecione o usuário - > Itens de login). É muito difícil navegar para /usr/bin na caixa de diálogo, portanto o artigo sugere criar um link no seu diretório pessoal ( ln -s /usr/bin/ssh-agent ) que você pode remover depois de colocá-lo em Itens de Login.

  2. Saia do Terminal.app

  3. Reinicie a máquina.

  4. Abra o Terminal e repita o comando ssh.

Trabalhei para mim (pelo menos, uma vez).

    
por 23.01.2014 / 19:10

Tags