2015-04-25 7 views
5

Ich habe vergessen, dass ich SELinux auf einem meiner Webserver aktiviert hatte. Als ich mich mit meinem Benutzerkonto und dem ssh-Schlüssel beim Host anmeldete, erhielt ich Fehler bei der Berechtigung verweigert.SELinux verhindert ssh mit RSA-Schlüssel

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

Hmmm ... Also tröstete ich mich in den Server und konnte mich einloggen. Ich tailed die Überwachungsprotokolle, und das ist, was ich sah:

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' 

auf diese für die Antwort in googeln ich den Rat bekam, diesen Befehl auszuführen:

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

Aber wenn ich wieder anmelden Nachdem ich das gemacht habe, bekomme ich das gleiche Ergebnis. Berechtigung verweigert und derselbe Fehler in den Protokollen.

Die einzige andere Sache, die ich denken kann, ist, dass das Home-Verzeichnis für den Benutzer von einer NFS-Freigabe bereitgestellt wird. Könnte es eine SELinux-Beschwörung geben, die ich verwenden kann, um SSH in ein Home-Verzeichnis auf einer NFS-Freigabe zu erlauben?

Oder vielleicht fehlt mir etwas anderes?

Danke, Tim

Antwort

9

Wenn restorecon hat nicht funktioniert, ich versuche im Allgemeinen audit2why und/oder audit2allow zu finden, was Politik verletzt wird. Das heißt nicht, dass ich die vorgeschlagenen Richtlinienänderungsvorschläge anwende, sondern dass sie zu sehr guten Informationen zur Lösung des Problems führen.

6

Bingo !!

Als ich lief audit2why -w dies der Ausgang war ich sah:

[[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 

So ist es wie meine Vermutung sieht darüber über NFS und Ihren Vorschlag zu bedienen ist audit2why mir zu erlauben, den Fall zu knacken!

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

Bam !! Es klappt. Danke für Ihre Hilfe!

+0

Sicher! Aus formalen Gründen sollten Sie formatierten Inhalt wie Sie das Problem in Ihrer Frage gelöst haben, irgendwelche spezifischen Kommentare gegen die Antwort, dann "akzeptieren" die Antwort, die gearbeitet hat. Verwenden Sie SELinux weiterhin, das ist wichtig für sichere Systeme! :) –