GNU/Linux >> Linux Esercitazione >  >> Linux

l'autenticazione con chiave pubblica fallisce SOLO quando sshd è un demone

Soluzione 1:

Sì, SELinux è probabilmente la causa. Il .ssh dir è probabilmente etichettato in modo errato. Guarda /var/log/audit/audit.log . Dovrebbe essere etichettato ssh_home_t . Controlla con ls -laZ . Esegui restorecon -r -vv /root/.ssh se necessario.

Soluzione 2:

Ho avuto lo stesso problema. Nel mio caso, restorecon e chcon non hanno funzionato.

Non volevo disabilitare selinux. Dopo molte ricerche, ho finalmente capito che era perché la mia home directory era stata montata da un'altra parte (NFS). Ho trovato questo bug report che mi ha dato un indizio.

Ho corso:

> getsebool use_nfs_home_dirs
use_nfs_home_dirs --> off

per confermare che use_nfs_home_dirs era disattivato e poi:

sudo setsebool -P use_nfs_home_dirs 1

per accenderlo.

Ora posso ssh sulla mia macchina usando la mia chiave e senza inserire una password. Cambiare il valore booleano use_home_nfs_dirs è stato quello che mi è servito.

Soluzione 3:

Per aggiungere alla risposta di Mark Wagner, se stai usando un percorso di home directory personalizzato (cioè non /home ), devi assicurarti di aver impostato il contesto di sicurezza SELinux. Per farlo, se hai directory home degli utenti in, ad esempio, /myhome , esegui:

semanage fcontext -a -e /home /myhome
restorecon -vR /myhome

Linux
  1. Come configurare l'autenticazione basata su chiave SSH in Linux

  2. Vsftpd non riesce ad autenticare Pam?

  3. Abilita l'autenticazione con chiave pubblica SSH

  4. mkdir -p fallisce quando la directory esiste

  5. Spiegazione dell'agente di autenticazione non registrato polkitd

Come utilizzare l'autenticazione a chiave pubblica con SSH

Concetti di base della crittografia in crittografia

Come aggiungere la chiave pubblica SSH al server

Aggiungi la chiave pubblica al file known_hosts

Aggiungi la chiave a authorized_users senza dover riavviare sshd

L'autenticazione della chiave pubblica SSH non riesce quando UsePAM è impostato su no