Błąd podany w tytule może wystąpić podczas łączenia się do serwera i to niezależnie od tego, czy logujesz się hasłem, czy kluczem SSH.

Winę ponoszą jednak klucze - dlaczego tak się dzieje?

Najczęstszym powodem takiej sytuacji jest zbyt duża liczba kluczy załadowanych do agenta SSH (ssh-agent). Jest szansa, że masz tam wpisanych np. 7-8 kluczy. Domyślna konfiguracja SSH zezwala jedynie na 5-6 (zależnie od systemu) następujących po sobie błędnych logowań, a następnie odrzuca kolejne próby połączenia.

Jeśli chcesz zalogować się do nowego serwera hasłem, ale jednocześnie masz załadowane w ssh-keychain np. 7 kluczy, to procedura logowania z punktu widzenia klienta SSH wygląda tak:

  1. Klient próbuje zalogować się pierwszym kluczem
  2. Klient próbuje z drugim kluczem
  3. Klient próbuje z kluczem nr 6
  4. Otrzymujesz błąd “Too many authentication failures [preauth]

Klucze od 6 w górę nie są nawet brane pod uwagę, a do pytania o hasło klient już nie dociera.

Serwer odrzucił połączenie.

Rozwiązanie

Ten problem rozwiązać możesz w sposób tymczasowy, jak i permanentny.

Metoda 1:

Zmniejsz liczbę kluczy w łańcuchu uwierzytelniania. Możesz to zrobić, np. usuwając WSZYSTKIE klucze z pamięci (nie znikają one z dysku - są tylko usuwane z pamięci SSH).

ssh-add -D

Po tej operacji zaloguj się do serwera hasłem lub dodaj do keychain tylko jeden, wymagany dla serwera klucz: