Ich habe ein privates / öffentliches dsa-Schlüsselpaar erstellt. Ich habe den öffentlichen Schlüssel auf dem Server eingegeben
~/.ssh/authorized_keys
Alles ist wie mein anderer Server eingerichtet, aber es scheint, als würde der Server meine Bemühungen einfach ignorieren.
/etc/ssh/ssh_config
und/etc/ssh/sshd_config
um sicherzustellen , dass nichts , was Sie wollen , ist deaktiviert./var/log/auth.log
von Debian-Systemen oder/var/log/secure
RedHat- Systemen einen klaren Hinweis darauf geben, was falsch dargestellt wird (normalerweise Berechtigungsprobleme)Antworten:
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).
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,
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
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.
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
quelle
Der Server ignoriert Ihre Datei "authorized_keys", wenn die Eigentümereigenschaften falsch sind. Wenn Sie dies ändern, wird Folgendes behoben:
quelle
0775
und0644
sind. Warum hat das Reduzieren der Berechtigungen geholfen? Ist dies eine Sicherheitsvorkehrung, die irgendwo konfiguriert ist?Suchen Sie in / etc / ssh / sshd_config nach diesen Attributen
quelle
$ chmod 600 ~/.ssh/authorized_keys
nicht$ chmod 600 ~/.sHh/authorized_keys
Eine weitere wichtige Falle ..
Wenn Ihr Home-Verzeichnis verschlüsselt ist, hat sshd keinen Zugriff auf ~ / .ssh / autorisierte_Tasten.
Siehe diese Antwort
quelle