Chociaż Twój problem mógł już zostać rozwiązany przez inne odpowiedzi, zablokowałem się z wystarczającej liczby maszyn, aby nie sprawdzać poprawności zmian sshd_config przed wypisaniem się, dlatego opracowałem poniższy proces, który może być przydatny do przyszłego debugowania zmian konfiguracji sshd:
NIE WOLNO ODŁĄCZAĆ aktywnego połączenia ssh, dopóki PO teście nie zweryfikuje, że zachowanie jest zgodne z oczekiwaniami.
za. sprawdź, co Twoim zdaniem powinien robić sshd
b. sprawdź poprawność konfiguracji za pomocą „-t”
do. uruchom pełną testową wersję serwera, na którym możesz monitorować na żywo
re. rozpocznij pełne „testowe” połączenie klienta, które możesz monitorować na żywo
za. sprawdź, co Twoim zdaniem powinien robić sshd
Przejrzyj plik konfiguracyjny sshd bez całego komentarza za pomocą czegoś takiego jak poniżej (zakładając, że sshd_config jest poprawnym plikiem w / etc / ssh)
$ grep -v "^ #" / etc / ssh / sshd_config | grep -v "^ $"
To po prostu wszystko usuwa, więc weryfikujemy to, co naszym zdaniem zmieniamy (niekoniecznie to, czy jest poprawne, czy nie).
b. sprawdź poprawność konfiguracji za pomocą „-t”
Ze strony podręcznika sshd używam,
-t Tryb testowy. Sprawdź tylko poprawność pliku konfiguracyjnego i poczytaj klucze. Jest to przydatne do niezawodnej aktualizacji sshd, ponieważ opcje konfiguracji mogą ulec zmianie.
Inne zmiany mogą mieć bardziej subtelne okoliczności. Na przykład nie wyłączaj uwierzytelniania za pomocą hasła, dopóki nie upewnisz się, że uwierzytelnianie za pomocą klucza publicznego działa poprawnie.
do. uruchom pełną testową wersję serwera, na którym możesz monitorować na żywo
$ sudo / usr / sbin / sshd -ddd -p 9999
Dzięki temu twoja istniejąca sesja robocza jest aktywna, ale daje ci kolejną instancję sshd do zweryfikowania nowych zmian konfiguracji. Dysk SSHD działa teraz na pierwszym planie do portu zdefiniowanego przez użytkownika (w naszym przykładzie 9999) i przekazuje wiele głośnych informacji debugowania, które można śledzić w / var / log / authlog (lub ewentualnie /var/log/auth.log w systemie operacyjnym).
re. rozpocznij pełne „testowe” połączenie klienta, które możesz monitorować na żywo
Uruchom połączenie klienta ssh w trybie pełnym, aby wyświetlić na ekranie więcej informacji, które mogą pomóc w lepszym debugowaniu błędu.
$ ssh -vvv -p 9999 nazwa-serwera
Powinieneś teraz mieć wystarczającą ilość informacji w plikach dziennika serwera lub na ekranie połączenia klienta, aby odizolować problem.
Rozwiązanie zasadniczo sprowadza się do uprawnień do plików (jak pokazują Magnar i setatakahashi)
Powodzenia
/etc/ssh/ssh_config
i/etc/ssh/sshd_config
sprawdź, czy nic, co chcesz, jest wyłączone.