ssh: "Accesso negato dalla configurazione dell'account PAM" per un utente non root ma non per un altro


24

Su una VM che sto inizializzando, riesco ad accedere come utente non root ( admin) ma non come altro ( tbbscraper) su SSH con autenticazione con chiave pubblica. L'unico messaggio di errore che posso trovare in qualsiasi file di registro è

Sep 18 17:21:04 [REDACTED] sshd[18942]: fatal: Access denied for user tbbscraper by PAM account configuration [preauth]

Sul lato client, la sindrome è

$ ssh -v -i [REDACTED] tbbscraper@[REDACTED]
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: [REDACTED]
debug1: Authentications that can continue: publickey
debug1: Trying private key: [REDACTED]
debug1: read PEM private key done: type RSA
Connection closed by [REDACTED]

La modifica di 'tbbscraper' in 'admin' consente un accesso riuscito: debug1: Authentication succeeded (publickey).appare al posto del messaggio "Connessione chiusa".

Questo non sembra essere un problema di autorizzazioni ...

# for x in admin tbbscraper
> do ls -adl /home/$x /home/$x/.ssh /home/$x/.ssh/authorized_keys
> done
drwxr-xr-x 3 admin admin 4096 Sep 18 17:19 /home/admin
drwx------ 2 admin admin 4096 Sep 18 16:53 /home/admin/.ssh
-rw------- 1 admin admin  398 Sep 18 17:19 /home/admin/.ssh/authorized_keys
drwxr-xr-x 3 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper
drwx------ 2 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper/.ssh
-rw------- 1 tbbscraper tbbscraper  398 Sep 18 17:18 /home/tbbscraper/.ssh/authorized_keys

# cmp /home/{admin,tbbscraper}/.ssh/authorized_keys ; echo $?
0

... né un problema di controllo dell'accesso a livello PAM ...

# egrep -v '^(#|$)' /etc/security/*.conf
#

... quindi nessuna delle risposte esistenti a domande simili sembrerebbe applicabile. L'unica altra prova che ho è:

root@[REDACTED] # su - admin
admin@[REDACTED] $

ma

root@[REDACTED] # su - tbbscraper
su: Authentication failure
(Ignored)
tbbscraper@[REDACTED] $

che suggerisce qualche problema PAM su larga scala, ma non riesco a trovare nulla di ovviamente sbagliato con il materiale in /etc/pam.d. Qualche idea?

La VM è un'istanza EC2, il sistema operativo è Debian 7.1 (AMI standard di Amazon).


/etc/pam.d/sshdper favore
GioMac,

@GioMac Non importa, ho riscontrato il problema.
zwol,

Risposte:


29

Dopo tutto ciò, risulta essere stato un errore di battitura di un carattere /etc/shadow. Trova la differenza:

admin:!:15891:0:99999:7:::
tbbscraper:!::15966:0:99999:7:::

Esatto, ci sono due due punti dopo il punto esclamativo sulla tbbscraperlinea. Ciò spinge tutti i campi su uno e fa pensare a PAM che l'account sia scaduto l'8 gennaio 1970.


9
Grazie per la pubblicazione. Questo mi è stato utile: avevo creato manualmente una voce utente in / etc / passwd e avevo dimenticato di aggiungere una corrispondente voce / etc / shadow.
spazm

6
@spazm Grazie per aver commentato. Questo mi è stato utile: avevo copiato manualmente gli utenti da un'altra macchina e mi ero dimenticato di copiare la voce / etc / shadow di un utente senza una password.
Jayen,

8

Grazie per aver pubblicato la tua domanda. Stavo ottenendo lo stesso errore, ma il mio problema non era correlato al file shadow. Ho trovato la mia soluzione e volevo pubblicare una risposta anche per chiunque cercasse su Google questo errore. Questa domanda sul server viene prima di tutto.

Prova a controllare /etc/security/access.conf!

Stiamo utilizzando Active Directory per l'autenticazione, ma dovevo accedere come utente locale non AD (jenkins). Il mio capo aveva originariamente impostato la casella con queste righe nel /etc/security/access.conf:

+:root:ALL
-:ALL:ALL

L'ho cambiato nel seguente e gli accessi ora funzionano; Non ho nemmeno bisogno di riavviare alcun servizio.

+:jenkins:ALL
+:root:ALL
-:ALL:ALL

3

Aveva lo stesso messaggio di errore. Chiuso l'sshd e riavviato in modalità debug

    /usr/sbin/sshd -ddd

questo indicava il motivo:

    debug3: User autossh not allowed because account is locked
            ...
    input_userauth_request: invalid user <username> [preauth]

Conto controllato:

    passwd -S <username>

che ha mostrato che l'account era bloccato (flag "L") Sbloccato l'account impostando una nuova password:

    passwd <username>

Fatto.


2

Stamattina ho avuto lo stesso problema, ma il server autentica gli utenti rispetto ad Active Directory. Si scopre che la password del dominio dell'utente è scaduta.


2
Stesso fenomeno, diversa fonte di informazioni sull'account utente :-) È possibile che avrei dovuto presentare un bug contro ssh e / o PAM due anni fa, chiedendo una registrazione più chiara del motivo per cui un tentativo di accesso era stato negato; c'è un argomento di sicurezza per non dire alla persona che ha fatto il tentativo perché non è riuscito, ma ciò non si applica ai registri di sistema.
zwol,

2

Nel mio caso stavo rinominando gli utenti CentOS 6 locali e ho dimenticato di rinominarli in / etc / shadow (che sono autenticati senza password, non mi sono venuti in mente), quindi i record per i nuovi nomi utente erano solo assente in / etc / shadow. In / var / log / secure mi stava dando l'errore unix_chkpwd e l'accesso negato da PAM:

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration

1
usermod (8) è la tua prossima amica ;-)
Michael Shigorin

0

Nel mio caso è stato un junk a colpire '' / etc / tcb / USER / shadow '' dopo la corruzione di ext4 rootfs in condizioni "interessanti"; sembrava piuttosto sporco, quindi non è stato individuato durante l'esame iniziale (non è possibile reinstallare il nodo in questo momento ma dovrà).


0

Ho avuto lo stesso problema e nessuna delle opzioni suggerite ha funzionato. Ma ho trovato in uno dei forum ( https://ubuntuforums.org/showthread.php?t=1960510 ) una "soluzione alternativa" che ha funzionato perfettamente.

Modifica /etc/ssh/sshd_confige imposta

UsePAM no

Anche se probabilmente non è la vera soluzione, perché qualcosa è decisamente sbagliato nella mia macchina (ieri ha funzionato bene!), Questo almeno funziona.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.