Como recuperar de “Muitas falhas de autenticação para o usuário root”

58

Eu fiz várias tentativas para estabelecer conexão SSH para o usuário root @ host usando o terminal de putty. Ao fazer isso, eu especifiquei credenciais erradas várias vezes e depois disso eu as especifiquei corretamente, e depois que as credenciais foram aceitas, a sessão ssh quebra com

"Server unexpectedly closed network connection".

Esse erro é relatado pelo terminal de putty. Ao tentar ssh root @ localhost a partir do console local - ele funciona bem. Ele também funciona bem quando eu ssh otheruser @ host de outro host. Portanto, os problemas de conectividade de rede não são culpados. O único erro que estou pensando é: "Muitas falhas de autenticação para o usuário root" , embora o putty tenha relatado um erro diferente.

A questão é: como recuperar-se desta condição de erro e deixar o putty login novamente? Reiniciar o sshd parece não ajudar

    
por user11722 06.07.2009 / 13:56

17 respostas

4

Tem certeza de que o login root para ssh é permitido?

Verifique o sshd_config e verifique se o login root é permitido. O sshd precisará ser reiniciado se a configuração mudar.

    
por 06.07.2009 / 14:08
109

"Muitas falhas de autenticação para raiz do usuário" significa que o limite de MaxAuthTries do servidor SSH foi excedido . Isso acontece para que seu cliente esteja tentando autenticar com todas as chaves possíveis armazenadas em /home/USER/.ssh/.

Esta situação pode ser resolvida da seguinte forma:

  1. ssh -i / caminho / para / id_rsa root @ host
  2. Especifique o par Host / IdentityFile em /home/USER/.ssh/config .
    • Host host
    • IdentityFile /home/USER/.ssh/id_rsa
    • Host host2
    • IdentityFile /home/USER/.ssh/id_rsa2
  3. Aumentar o valor MaxAuthTries no servidor SSH em / etc / ssh / sshd_config (não recomendado).
por 05.04.2011 / 23:33
74

Se você receber o seguinte erro SSH:

$ Received disconnect from host: 2: Too many authentication failures for root

Isso pode acontecer se você tiver (padrão no meu sistema) cinco ou mais arquivos de identidade DSA / RSA armazenados no diretório .ssh . Nesse caso, se a opção -i não for especificada na linha de comando, o cliente ssh tentará primeiro efetuar login usando cada identidade (chave privada) e o próximo prompt para autenticação de senha. No entanto, o sshd descarta a conexão após cinco tentativas de login incorretas (novamente, o padrão pode variar).

Portanto, se você tiver várias chaves privadas em seu diretório .ssh, poderá desativar Public Key Authentication na linha de comando usando o argumento -o opcional.

Por exemplo:

$ ssh -o PubkeyAuthentication=no root@host
    
por 20.09.2013 / 23:36
16

Na máquina remota, abra / etc / sshd_config e altere o valor

MaxAuthTries 30

Esse é um problema típico quando você instala várias chaves ou abre várias conexões. Servidor verificando passo a passo cada chave e se MaxAuthTries está configurado em 3, em seguida, após as 3 primeiras tentativas desconectará você. Segurança ssh típica.

Sugiro que você use o modo detalhado durante a conexão com a máquina remota para analisar o problema.

ssh -v -p port_number user@servername

Adivinhar como a maioria das pessoas neste fórum é ERRADO e sua perda de tempo. Primeiro tente analisar o problema, coletar informações e depois perguntar.

Divirta-se.

    
por 09.11.2010 / 12:21
10

Esta é uma prática ruim. Basta ter um usuário regular na caixa remota e conectar-se por meio do ssh usando-o e, em seguida, obter acesso root usando su / sudo.

    
por 06.07.2009 / 14:03
7

Para mim, esse problema foi resolvido criando o ssh_config abaixo para o host ao qual eu estava me conectando.

(~ / .ssh / config)

Host example
HostName example.com
User admin
IdentityFile ~/path/to/ssh_key_rsa
IdentitiesOnly=yes

O problema ocorreu porque eu tenho muitas chaves ssh na minha pasta ~/.ssh , como 16 ou mais. E sem as duas diretivas IdentityFile AND IdentitiesOnly na configuração, minha máquina aparentemente estava testando todas as chaves em ~/.ssh e atingindo o número máximo de tentativas antes de tentar o IdentityFile correto.

    
por 13.05.2017 / 00:11
6

Eu recomendo que você, como Anon acima postou, use outro usuário para obter acesso ssh e use o comando su para ganhar root access.

Certifique-se também de ativar PermitRootLogin no arquivo /etc/ssh/sshd_config no servidor.

    
por 06.07.2009 / 14:08
4

Corrigi este problema em meus sistemas executando os seguintes comandos:

eval $(ssh-agent)
ssh-add  ~/.ssh/keyname

Então tente o ssh na máquina remota

    
por 30.07.2015 / 13:08
4

Eu também enfrentei o mesmo problema. Isso pode acontecer facilmente se você estiver usando Pageant e tiver um grande número de chaves carregadas nele , pois esses servidores contam cada oferta de chave pública como uma tentativa de autenticação.

(Este conselho foi retirado de aqui .)

    
por 02.11.2017 / 07:24
2

Eu fui mordido por um problema semelhante. No entanto, a causa real era que eu tinha ForwardAgent yes no arquivo de configuração de uma máquina ao longo do pipe. Eu estava conectando da máquina A na máquina B na máquina C.

A mensagem de erro foi mostrada na tentativa ssh de B - > C, mas foi causado por um ter o encaminhamento ativo. Então, C foi o primeiro a receber todas as chaves de A e só então as de B.

Apareceu de repente quando adicionei mais uma tecla a A

    
por 22.04.2015 / 11:31
1

Corrigi este problema no meu Mac:

  1. definindo a senha do root com "sudo passwd root" e
  2. editando e salvando o arquivo de configuração ssh com "nano / etc / ssh_config" e
  3. alterando a RSAAuthentication para "não" em vez de sim.
por 28.12.2011 / 06:50
1

Para resolver temporariamente esse problema até que as coisas possam ser totalmente tratadas, conforme observado em outro lugar, você pode redefinir o registro PAM de um usuário para que ele possa tentar novamente:

pam_tally --reset --user <USERNAME>
pam_tally2 --reset --user <USERNAME>
    
por 18.09.2017 / 21:03
0

OK, então no meu caso isso foi bem esquisito, aqui vai ...

Eu tenho uma VM vagrant padrão com uma chave SSH e posso usar o SSH nela usando o Putty. Ao tentar obtê-lo durante a implantação no PHPStorm, recebo too many authentication failures error. Então eu aumentei o MaxAuthTries no meu sshd_config e então fui atingido com Auth failed erro e então Auth cancel .

Agora, não sei exatamente por que tentei isso, mas ... adicionei o ponto no final do caminho da chave SSH na janela de implantação no PHPStorm. Então foi assim:

C:\Users\Deadpool\.ssh\chimichanga

e agora é assim:

C:\Users\Deadpool\.ssh\chimichanga.

E funciona ... Na minha pasta ".ssh" eu tenho mais arquivos:

chimichanga - copy of "id_rsa" from vagrant machine
chimichanga.ppk
chimichanga.pub

Não tenho certeza do que esse ponto fcuking faz, mas usar o arquivo .ppk não funciona, então acho que é meio mágico;) Ah, e eu poderia me livrar dos MaxAuthTries depois desse "truque de pontos".

    
por 25.01.2016 / 14:39
0

Eu resolvi este problema com dois passos simples no meu servidor Ubuntu 16.04 -

Primeiro, pare meu servidor vnc ou mate o processo -

vncserver -kill :1

e, em seguida, inicie-o novamente -

vncserver

Depois disso, conecte-o a partir do cliente de área de trabalho remota -

999.99.99.99:5901

Feito !!

    
por 10.05.2017 / 13:39
0

Outras respostas indicam a melhor maneira de se conectar como root e as implicações de segurança disso, mas sua pergunta explícita foi

how to recover from this error condition and let putty login again?

Você mencionou na última vez que você se conectou, então o servidor remoto soltou a conexão.

O que eu acho que você pode encontrar é que o servidor remoto está executando o fail2ban (*) e ele "prendeu" seu IP após o login bem-sucedido. Você pode testar isso tentando fazer login novamente e nem obterá o prompt de login.

Existem duas soluções, você pode esperar o tempo de prisão, em que as coisas simplesmente voltam ao normal, mas o tempo de prisão pode ser qualquer coisa. Ou você pode encontrar outro computador para fazer o login, fazer isso e "não-jail" seu IP, neste caso "diferente" é da perspectiva do servidor remoto, então outro computador atrás do mesmo firewall provavelmente não funcionará também .

(*) O fail2ban é um daemon super prático que pode verificar periodicamente vários arquivos de log e ajustar regras de firewall para fazer com que o servidor "desapareça" quando detectar comportamento potencialmente mal-intencionado de um cliente. No debian, ele sai da caixa configurada para detectar vários logins ssh com falha de um determinado IP, e depois de 3 (eu acho) ele descartará todos os pacotes desse IP. Funciona brilhantemente para impedir esses ataques de força bruta com scripts.

    
por 21.09.2018 / 21:27
-2

siga as etapas abaixo para a resolução

  1. Fazer backup / etc / ssh / sshd_config
  2. Aumenta o valor de MaxAuthTries em sshd_config
  3. stopsrc -s sshd; startsrc -s sshd

E verifique novamente após as alterações acima

    
por 26.12.2014 / 20:05
-3

Eu tive o mesmo problema em que continuei recebendo "SServer enviado tipo de mensagem desconectada 2 (erro de protocolo): Muitas falhas de autenticação para o usuário"

Eu resolvi esse problema removendo todas as minhas chaves ssh (.ppk) e, em seguida, conectei-me ao servidor integrado do AD.

    
por 09.06.2016 / 21:23