Un'altra opzione è una variante del @Jagadish 's risposta : per strace
il demone SSH.
Ha il vantaggio significativo, che non abbiamo bisogno di fermare la sshd, cosa può comportare un blocco completo se qualcosa va male.
Innanzitutto, troviamo il pid del processo sshd principale. Qui possiamo vederlo eseguendo un pstree -pa|less
.
|-sshd,633 -D <-- THIS IS WHAT WE WANT!
| `-sshd,21973
| `-sshd,21996
| `-bash,22000
| `-screen,638 -r
Dopo aver saputo che il pid è 633, possiamo strace
farlo, seguendo i suoi figli:
strace -p 633 -s 4096 -f -o sux
Il risultato sarà che tutto ciò che questo sshd, e i suoi processi figli hanno fatto, saranno inseriti nel file indicato sux
nella directory locale.
Quindi riprodurre il problema.
Avrà un enorme elenco di log delle chiamate del kernel, che è per lo più incomprensibile / irrilevante per noi, ma non ovunque. Nel mio caso, l'importante era questo:
6834 sendto(4, "<38>Jan 15 18:49:21 sshd[6834]: User cica not allowed because account is locked\0", 84, MSG_NOSIGNAL, NULL, 0) = 84
Significava che sshd ha tentato di registrare il messaggio User cica non consentito perché l'account è bloccato - non è stato possibile, perché la registrazione non è abbastanza dettagliata per questo. Ma sappiamo già, il pubkey è stato rifiutato perché l'account era bloccato.
Non è ancora una soluzione - ora abbiamo bisogno di google, che significa un "account bloccato" nel caso di sshd. Molto probabilmente sarà un po 'di magia, banale /etc/passwd
, /etc/shadow
ma la cosa importante è fatta: il problema non è misterioso, ma facilmente debuggabile / googlabile.