GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Die Public-Key-Authentifizierung schlägt NUR fehl, wenn sshd ein Daemon ist

Lösung 1:

Ja, SELinux ist wahrscheinlich die Ursache. Der .ssh dir ist wahrscheinlich falsch beschriftet. Sehen Sie sich /var/log/audit/audit.log an . Es sollte mit ssh_home_t gekennzeichnet sein . Prüfen Sie mit ls -laZ . Führen Sie restorecon -r -vv /root/.ssh aus wenn nötig.

Lösung 2:

Ich hatte das gleiche Problem. In meinem Fall funktionierten restorecon und chcon nicht.

Selinux wollte ich nicht deaktivieren. Nach vielen Recherchen fand ich schließlich heraus, dass es daran lag, dass mein Home-Verzeichnis von woanders (NFS) gemountet wurde. Ich habe diesen Fehlerbericht gefunden, der mich darauf aufmerksam gemacht hat.

Ich lief:

> getsebool use_nfs_home_dirs
use_nfs_home_dirs --> off

um zu bestätigen, dass use_nfs_home_dirs ausgeschaltet war und dann:

sudo setsebool -P use_nfs_home_dirs 1

um es einzuschalten.

Jetzt kann ich mit meinem Schlüssel und ohne Eingabe eines Passworts eine SSH-Verbindung zu meinem Computer herstellen. Das Umschalten des booleschen use_home_nfs_dirs war das, was es für mich brauchte.

Lösung 3:

Um die Antwort von Mark Wagner zu ergänzen, wenn Sie einen benutzerdefinierten Home-Verzeichnispfad verwenden (dh nicht /home ), müssen Sie sicherstellen, dass Sie den SELinux-Sicherheitskontext festgelegt haben. Um dies zu tun, wenn Sie beispielsweise Benutzer-Home-Verzeichnisse in /myhome haben , ausführen:

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

Linux
  1. Ssh – Erhalten Sie immer noch eine Passwortabfrage mit Ssh mit Authentifizierung mit öffentlichem Schlüssel?

  2. Wann wurde die Datei erstellt?

  3. Nur übertragene Dateien mit Rsync protokollieren?

  4. Linux-Betriebssystemdienst „sshd“

  5. Berechtigung beim Klonen des Git-Repositorys verweigert

So verwenden Sie die Public-Key-Authentifizierung mit SSH

Grundlegende Konzepte der Verschlüsselung in der Kryptographie

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

Root-SSH-Anmeldung nur mit Public-Key-Authentifizierung zulassen

mkdir -p schlägt fehl, wenn ein Verzeichnis vorhanden ist

Öffentlichen Schlüssel zur Datei known_hosts hinzufügen