Obwohl Ihr Problem möglicherweise bereits durch andere Antworten gelöst wurde, habe ich mich von genügend Computern ausgeschlossen, um die Änderungen von sshd_config vor dem Abmelden nicht zu validieren. Daher habe ich den folgenden Prozess entwickelt, der für das zukünftige Debuggen von Änderungen der sshd-Konfiguration hilfreich sein kann:
Trennen Sie eine aktive SSH-Verbindung NICHT, bevor das Testen das erwartete Verhalten überprüft hat.
ein. Überprüfen Sie, was Ihrer Meinung nach sshd tun soll
b. Überprüfen Sie mit "-t", ob die Konfiguration gültig ist.
c. Starten Sie eine ausführliche Testversion des Servers, den Sie live überwachen können
d. Starten Sie eine ausführliche 'Test'-Client-Verbindung, die Sie live überwachen können
ein. Überprüfen Sie, was Ihrer Meinung nach sshd tun soll
Überprüfen Sie die sshd-Konfigurationsdatei ohne den gesamten Kommentar wie folgt (vorausgesetzt, sshd_config ist die richtige Datei und befindet sich in / etc / ssh).
$ grep -v "^ #" / etc / ssh / sshd_config | grep -v "^ $"
Dies klärt nur die Dinge, damit wir überprüfen, was wir zu ändern glauben (nicht unbedingt, ob es richtig ist oder nicht).
b. Überprüfen Sie mit "-t", ob die Konfiguration gültig ist.
Von der Manpage der sshd's, die ich benutze,
-t Testmodus. Überprüfen Sie nur die Gültigkeit der Konfigurationsdatei und die Richtigkeit der Schlüssel. Dies ist nützlich, um sshd zuverlässig zu aktualisieren, da sich die Konfigurationsoptionen ändern können.
Andere Änderungen können subtilere Umstände haben. Deaktivieren Sie beispielsweise die Kennwortauthentifizierung erst, wenn Sie sicher sind, dass die Authentifizierung mit öffentlichem Schlüssel ordnungsgemäß funktioniert.
c. Starten Sie eine ausführliche Testversion des Servers, den Sie live überwachen können
$ sudo / usr / sbin / sshd -ddd -p 9999
Dadurch bleibt Ihre vorhandene Arbeitssitzung aktiv, Sie erhalten jedoch eine weitere Instanz von sshd, mit der Sie Ihre neuen Konfigurationsänderungen überprüfen können. SSHD wird jetzt im Vordergrund auf einen benutzerdefinierten Port (in unserem Beispiel 9999) ausgeführt und überträgt viele verrauschte Debug-Informationen, die Sie in / var / log / authlog (oder möglicherweise /var/log/auth.log abhängig) verfolgen können auf Ihrem Betriebssystem.)
d. Starten Sie eine ausführliche 'Test'-Client-Verbindung, die Sie live überwachen können
Führen Sie die SSH-Client-Verbindung im ausführlichen Modus aus, um auf Ihrem Bildschirm weitere Informationen anzuzeigen, die Sie möglicherweise zu einem besseren Debuggen Ihres Fehlers führen.
$ ssh -vvv -p 9999 Servername
Sie sollten jetzt über genügend Informationen in den Protokolldateien des Servers oder im Verbindungsbildschirm des Clients verfügen, um Ihr Problem einzugrenzen.
Die Lösung besteht im Allgemeinen aus Dateiberechtigungen (wie von Magnar und Setatakahashi gezeigt).
Viel Glück
/etc/ssh/ssh_config
und/etc/ssh/sshd_config
um sicherzustellen , dass nichts , was Sie wollen , ist deaktiviert.