Frage Wie überprüfe ich, ob eine Konfigurationsdatei gelesen wurde?


Es scheint, dass Änderungen an meinem /etc/ssh/sshd_config Datei wird nicht vom SSH-Daemon abgeholt. Zu Testzwecken habe ich ein DenyUsers *, tat service ssh restart, und sogar das gesamte System neu gestartet. Aber ich kann immer noch aus der Ferne ssh.

Wie kann ich das überprüfen? /etc/ssh/sshd_config Datei wird gelesen von sshd?


4
2017-11-01 07:55


Ursprung




Antworten:


Wenn ich nicht sicher bin, ob ein Programm eine bestimmte Konfigurationsdatei (oder in welcher Reihenfolge) liest, versuche ich, den offenen syscalls mit zu verfolgen strace. Stoppen Sie dazu den ssh-Daemon. Dann starte es manuell im Terminal durch:

strace -e open -ostrace.out /usr/sbin/sshd

Nach dem Start sollten Sie eine Datei in Ihrem aktuellen Arbeitsverzeichnis haben strace.out. In meinem Fall sah es so aus (Ausgabe reduziert):

open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
...
many libraries
...
open("/proc/filesystems", O_RDONLY)     = 3
open("/dev/null", O_RDWR)               = 3
open("/usr/lib/ssl/openssl.cnf", O_RDONLY) = 3
open("/etc/ssh/sshd_config", O_RDONLY)  = 3 <--- here sshd_config was opened
open("/dev/urandom", O_RDONLY|O_NOCTTY|O_NONBLOCK) = 3
open("/etc/gai.conf", O_RDONLY|O_CLOEXEC) = 3
open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
...
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
...
ssh keys
...
open("/etc/ssh/blacklist.ECDSA-256", O_RDONLY) = -1 ENOENT (No such file or directory)

Mit diesem Test kann ich sicherstellen sshd liest meine /etc/ssh/sshd_config. Im letzten Eintrag sehen Sie, dass diese Datei nicht auf meinem System gefunden wurde (-1).


4
2017-11-01 08:48



Das hat sehr geholfen. Es wies mich auf den peinlichen Fehler hin, den ich modifiziert habe /etc/ssh/ssh_config Anstatt von /etc/ssh/sshd_config. Vielen Dank. - user210161