Używam Putty w systemie Windows z uwierzytelnianiem opartym na kluczach, aby uzyskać dostęp do niektórych serwerów kopalni.
Działa całkowicie dobrze z kluczem ~ 3700 bitów, ale z kluczem ~ 17000 bitów myśli po około 20 sekundach po stronie klienta, a następnie po prostu mówi „Odmowa dostępu” i pyta o hasło.
Czy w OpenSSH istnieje limit długości lub limit czasu uwierzytelniania opartego na kluczach?
Rozumiem, że używanie tak dużych kluczy nie ma praktycznego znaczenia, zwłaszcza gdy patrzę na te 20 sekund obliczeń, próbując rozwiązać problemy, z którymi się spotykam: -) ...
authentication
ssh
rsa
BarsMonster
źródło
źródło
Odpowiedzi:
W pewnym momencie przyjrzałem się źródłu OpenSSL dla kluczy Diffie-Hellmana i stwierdziłem, że istnieje „arbitralny” limit 10K wielkości kluczy DH. Zmieniłem źródło testu i stwierdziłem, że zadziałało. Napisałem błąd do autorów, którzy odpowiedzieli, że zamierzeniem projektu było zapobieganie DoS przy użyciu ogromnych kluczy.
Nie zdziwiłbym mnie, gdy zobaczyłem coś podobnego w OpenSSH.
źródło
W protokole nie ma zdefiniowanego maksymalnego rozmiaru klucza ani limitu czasu (lub przynajmniej takiego, w który chcesz uderzyć), ale implementacja może nie obsługiwać tak długich kluczy. 20-sekundowy czas przetwarzania z kluczem prywatnym nie wydaje się wysoki dla 17-bitowego klucza RSA. Wówczas serwer może nie chcieć wydawać zbyt dużej mocy obliczeniowej nieuwierzytelnionemu użytkownikowi: odmowa bardzo dużych kluczy stanowi ochronę przed atakami DoS.
Obecnie 2048 bitów jest uważane za rozsądne dla klucza RSA; 4096 bitów jest wyższe niż to konieczne, ale zwykle obsługiwane; poza tym nie powinieneś być zaskoczony, jeśli niektóre programy odrzucają klucz.
źródło
Czy udało Ci się wygenerować ten rozmiar klucza w docelowym systemie docelowym? Być może wystąpił limit obsługiwanego. Raczej obecny mój system Centos obsługuje maksymalnie 16k, co wydaje się wystarczające dla masywnych kluczy. Powinieneś zobaczyć maksimum, jeśli spróbujesz przekroczyć go za pomocą ssh-keygen, jak pokazano poniżej.
źródło
Serwer openssh ma ustawienie LoginGraceTime. Ze strony podręcznika:
Może to być limit, do którego trafiasz, jeśli jest ustawiony na 20 sekund.
Dzikie przypuszczenie: może być również tak, że sam kit ma ten limit, sądząc, że jeśli przetwarzanie uwierzytelnienia klucza publicznego po stronie klienta trwa tak długo, coś jest nie tak.
źródło