Questão Como posso verificar se um arquivo de configuração foi lido?


Parece que modificações no meu /etc/ssh/sshd_config arquivo não é escolhido pelo daemon SSH. Para fins de teste, incluí um DenyUsers *, fez service ssh restarte até reinicializou todo o sistema. Mas eu ainda posso ssh de controle remoto.

Como posso verificar se o /etc/ssh/sshd_config arquivo é lido por sshd?


4
2017-11-01 07:55


origem




Respostas:


Se não tenho certeza se um programa lê um arquivo de configuração específico (ou em qual ordem), tento rastrear os syscalls abertos com strace. Para fazer isso, pare o daemon ssh. Em seguida, inicie-o manualmente no terminal:

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

Depois de iniciado, você deve ter um arquivo em seu diretório de trabalho atual chamado strace.out. No meu caso, parecia assim (saída despojada):

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)

Com este teste eu posso ter certeza sshd lê meu /etc/ssh/sshd_config. Na última entrada você pode ver que este arquivo não é encontrado no meu sistema (-1).


4
2017-11-01 08:48



Isso ajudou muito. Ele apontou para o erro embaraçoso que eu modifiquei /etc/ssh/ssh_config ao invés de /etc/ssh/sshd_config. Obrigado. - user210161