Frage Wie kann ich von "Zu viele Authentifizierungsfehler für den Benutzer root" wiederherstellen?


Ich habe mehrere Versuche unternommen, SSH-Verbindung für Benutzer root @ Host mit Putty-Terminal zu etablieren. Dabei habe ich mehrmals falsche Zugangsdaten angegeben und danach habe ich sie korrekt angegeben, und nachdem die Zugangsdaten akzeptiert wurden, bricht die SSH-Sitzung ab

"Server hat das Netzwerk unerwartet geschlossen   Verbindung".

Dieser Fehler wird von Putty Terminal gemeldet. Wenn Sie versuchen, root @ localhost von der lokalen Konsole aus zu starten, funktioniert das problemlos. Es funktioniert auch gut, wenn ich anderen Benutzer @ Host von anderen Host ssh. Daher sind Probleme mit der Netzwerkverbindung nicht schuldig. Der einzige Fehler, an den ich denke, ist: "Zu viele Authentifizierungsfehler für Benutzer root" obwohl Putty einen anderen Fehler gemeldet hat.

Die Frage ist: Wie kann man sich von diesem Fehlerzustand erholen und sich erneut einloggen lassen? Neustart sshd scheint nicht zu helfen


58
2017-07-06 11:56


Ursprung


superuser.com/questions/187779/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
Stellen Sie sicher, dass Sie Ihren ssh-Agenten (z. B. pageant unter Windows) deaktivieren, wenn Sie eine Too many Authentication Failures Fehler bevor Sie überhaupt einloggen können. - Mahn


Antworten:


Sind Sie sicher, dass root-Login zu SSH erlaubt ist?

Überprüfen Sie sshd_config und vergewissern Sie sich, dass die root-Anmeldung erlaubt ist. sshd muss neu gestartet werden, wenn sich die Einstellung ändert.


4
2017-07-06 12:08





"Zu viele Authentifizierungsfehler für Benutzer root" bedeutet, dass Ihr SSH-Server MaxAuthTries-Limit wurde überschritten. Es passiert, dass Ihr Client versucht, sich mit allen möglichen Schlüsseln zu authentifizieren, die in /home/USER/.ssh/ gespeichert sind.

Diese Situation kann auf folgende Weise gelöst werden:

  1. ssh -i / Pfad / zu / ID_rsa root @ host
  2. Angeben Host / Identitätsdatei paaren /home/USER/.ssh/config .
    • Host host
    • IdentityFile /home/USER/.ssh/id_rsa
    • Host host2
    • IdentityFile /home/USER/.ssh/id_rsa2
  3. Erhöhen, ansteigen MaxAuthTries Wert auf dem SSH-Server in / etc / ssh / sshd_config (nicht empfohlen).

108
2018-04-05 21:33



Dies sollte wirklich die akzeptierte Antwort sein! - Benjamin
Um eine akzeptierte Antwort zu sein, müsste die Antwort wirklich die in der Frage erwähnte Software sein. =) - rakslice
Ein weiterer Grund für die Überschreitung des Limits könnte Ihr ssh-Agent sein. ssh -vv hat mehrere Versionen von zwei Schlüsseln (die von ssh-agent geliefert wurden) getestet. Ich nehme an, dass dies daran liegt, dass ich selten neu starte und einige Schlüssel ersetzt habe, die abgelaufen sind; Offenbar überschreibt ssh-agent alte Schlüssel nicht durch neue. Ich habe ssh-agent getötet und das Problem ist weg. - Mark
Welchen Nachteil hätte es, sich zu erhöhen MaxAuthTries? Ich bezweifle, dass viele Angriffe ausgeführt werden, indem viele verschiedene Schlüssel versucht werden. Außerdem, wenn ein Angreifer das wollte, kann er die Verbindung einfach schließen und bei jedem Limit einen neuen öffnen. Es wird ihnen sowieso nicht gelingen, brutal einen Schlüssel zu erzwingen. - kasperd
@Mark Danke! Neustart von ssh-agent hat es für mich behoben! - Matt Reyer


Wenn Sie den folgenden SSH-Fehler erhalten:

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

Dies könnte passieren, wenn Sie in Ihrem System fünf oder mehr DSA / RSA-Identitätsdateien gespeichert haben (standardmäßig auf meinem System) .ssh Verzeichnis. In diesem Fall wenn die -i Wenn die Option nicht in der Befehlszeile angegeben ist, versucht der SSH-Client zunächst, sich mit jeder Identität (privater Schlüssel) und der nächsten Aufforderung zur Kennwortauthentifizierung anzumelden. Sshd löscht jedoch die Verbindung nach fünf fehlerhaften Anmeldeversuchen (auch hier kann der Standardwert abweichen).

Wenn Sie also mehrere private Schlüssel in Ihrem .ssh-Verzeichnis haben, können Sie sie deaktivieren Public Key Authentication in der Befehlszeile mit der -o optionales Argument

Zum Beispiel:

$ ssh -o PubkeyAuthentication=no root@host

74
2017-09-20 21:36



Ich danke dir sehr! Hier Ubuntu Server verwenden, auf den ich nur per SSH zugreifen kann. Ich hatte "MaxAuthTries 1" eingestellt, nachdem ich blind einem Tutorial im Internet gefolgt war. - Andre Figueiredo
Das behebt das Problem in meinem Fall, vielen Dank! - realjin
Du hast gerade mein Leben gerettet! Keine Schlüsselauthentifizierung, so dass die anderen Antworten nicht hilfreich waren. Das hat es so einfach gelöst !! - George Green
Das ist das Antworten - smac89


Öffnen Sie auf dem Remote-Computer / etc / sshd_config und ändern Sie den Wert

MaxAuthTries 30

Dies ist ein typisches Problem, wenn Sie mehrere Schlüssel installiert oder mehrere Verbindungen geöffnet haben. Der Server prüft Schritt für Schritt die einzelnen Schlüssel und wenn MaxAuthTries auf 3 eingestellt ist, wird nach den ersten drei Versuchen die Verbindung getrennt. Typische SSH-Sicherheit.

Ich schlage vor, dass Sie den ausführlichen Modus während der Verbindung zur entfernten Maschine verwenden, um das Problem zu analysieren.

ssh -v -p Portnummer Benutzer @ Servername

Raten wie die meisten Leute in diesem Forum tun, ist falsch und seine Verschwendung von Zeit. Versuchen Sie zunächst, das Problem zu analysieren, Informationen zu sammeln und danach zu fragen.

Habe Spaß.


16
2017-11-09 11:21



In meinem speziellen Fall war das Problem, dass ich mit Agentweiterleitung angemeldet war und versuchte, ein Skript auszuführen, das seine eigene SSH-Identität verwendete. Als ich es mit der Weiterleitung von Agenten durchführte, waren es zu viele Identitäten, bevor ich es selbst versuchte. Also habe ich das Skript eingerichtet, um die Agentenumgebung wegzuwerfen, und das hat es aufgeräumt. Ich hätte auch die MaxAuthTries erhöhen können, aber das brauchte ich in diesem Fall nicht. - Sean Reifschneider
Vielen Dank. -v hat gezeigt, dass mein ssh-Client versucht, mehrere Schlüssel zu verwenden (ich habe jetzt einige). Ich habe sie von dem Agenten mit gereinigt ssh-add -D - joeytwiddle


Das ist schlechte Praxis. Nehmen Sie einfach einen normalen Benutzer auf der Remote-Box und verbinden Sie sich über ssh mit ihm, dann erhalten Sie Root-Zugriff mit su / sudo.


10
2017-07-06 12:03





Für mich wurde dieses Problem gelöst, indem ich die untenstehende ssh_config für den Host, mit dem ich mich verband, erstellte.

(~ / .ssh / config)

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

Das Problem ist aufgetreten, weil ich viel zu viele SSH-Schlüssel in meinem habe ~/.ssh Ordner, wie 16 oder so. Und ohne beides IdentityFile UND IdentitiesOnly Direktiven in der Config, mein Rechner hat anscheinend alle Schlüssel versucht ~/.ssh und Erreichen der maximalen Anzahl von Versuchen, bevor das richtige IdentityFile versucht wird.


7
2018-05-12 22:11





Ich würde dir empfehlen, wie oben beschrieben, einen anderen Benutzer zu benutzen, um ssh Zugang zu erhalten, dann benutze den su Befehl zu gewinnen root Zugriff.

Stellen Sie außerdem sicher, dass Sie aktivieren PermitRootLogin in dem /etc/ssh/sshd_config Datei auf dem Server.


6
2017-07-06 12:08