2015-04-25 15 views
5

Ho dimenticato di aver abilitato SELinux su uno dei miei server web. Quindi, quando sono andato per accedere all'host con il mio account utente e la chiave ssh, ricevevo errori di autorizzazione negati.SELinux impedisce ssh con la chiave RSA

[[email protected]:~] #ssh [email protected] 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic). 

Hmmm ... Così mi consolavano al server ed è stato in grado di effettuare il login. Io pedinato i registri di controllo, e questo è quello che ho visto:

type=USER_LOGIN msg=audit(1429981690.809:394593): pid=17074 uid=0  auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023  msg='op=login acct="bluethundr" exe="/usr/sbin/sshd" hostname=? addr=47.18.111.100 terminal=ssh res=failed' 

Nel googling per la risposta a questa ho ricevuto il consiglio di eseguire questo comando:

[[email protected]:~] #restorecon -R -v /home/bluethundr/.ssh 
[[email protected]:~] # 

Ma quando vado a effettuare nuovamente l'accesso , dopo averlo fatto, ottengo lo stesso risultato. Autorizzazione negata e lo stesso errore nei log.

L'unica altra cosa che posso pensare è che la directory home per l'utente è montata da una condivisione NFS. Potrebbe esserci qualche incantesimo di SELinux che posso usare per permettere a SSH di avere una directory home su una condivisione NFS?

O forse mi manca qualcos'altro?

Grazie, Tim

risposta

9

Se restorecon non ha funzionato, io in genere cerco audit2why e/o audit2allow per trovare ciò che la politica viene violata. Questo non vuol dire che applico i suggerimenti sui cambiamenti di politica che vengono generati, solo che portano a ottime informazioni per risolvere il problema.

6

Bingo !!

Quando ho eseguito audit2why -w questa è stata l'uscita ho visto:

[[email protected]:~] #grep ssh /var/log/audit/audit.log | audit2why -w 
Was caused by: 
    The boolean use_nfs_home_dirs was set incorrectly. 
    Description: 
    Allow use to nfs home dirs 

    Allow access by executing: 
    # setsebool -P use_nfs_home_dirs 1 
    type=AVC msg=audit(1429983513.529:394784): avc: denied { read } for pid=19748 comm="sshd" name="authorized_keys" dev="0:40" ino=275968 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:nfs_t:s0 tclass=file 

così sembra che la mia impressione sul fatto che sia su NFS e il suo suggerimento di utilizzare audit2why mi permetterà di risolvere il caso!

[[email protected]:~/creds] #ssh [email protected] 
Last login: Sat Apr 25 13:41:02 2015 from ool-2f126f64.dyn.optonline.net 
[[email protected] ~]$ 

Bam !! Funziona. Grazie per l'aiuto!

+0

Sicuro! Per questioni di forma, dovresti inserire il contenuto formattato di come hai risolto il problema nella tua domanda, eventuali commenti specifici contro la risposta, quindi "accettare" la risposta che ha funzionato. Continua a usare SELinux, è importante per i sistemi sicuri! :) –

Problemi correlati