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

Aktivieren Sie die öffentliche SSH-Schlüsselauthentifizierung

Dieser Artikel beschreibt das Verfahren zum Einrichten einer Secure Shell (SSH) Public Key-Authentifizierung.

  1. Melden Sie sich beim Server an.

  2. Überprüfen Sie, ob der Benutzer existiert:

     `getent passwd <username>`
    
  3. Suchen Sie den der AuthorizedKeysFile zugewiesenen Wert Parameter in/etc/ssh/sshd_config um die Datei zu ermitteln, in der der Schlüssel gespeichert ist:

     `grep AuthorizedKeysFile /etc/ssh/sshd_config`
    

    Hinweis :Der Standardspeicherort ist ~/.ssh/authorized_keys innerhalb des Standard-Home-Verzeichnisses des Benutzers.

  4. Wechseln Sie in das Home-Verzeichnis des Benutzers:

     `cd /directory-path`
    

    Hinweis :Ersetzen Sie Verzeichnispfad mit dem Home-Verzeichnispfad des Benutzers.

  5. Überprüfen Sie die Berechtigungsstufen für .ssh/ Verzeichnis. Es sollte 0700 haben Berechtigungen haben und dem Benutzer gehören.

     `ls .ssh`
    

    a. Wenn das Verzeichnis nicht existiert, erstellen Sie es und setzen Sie die Berechtigungen auf 0700 :

     `mkdir -m 700 .ssh`
    

    b. Wenn das Verzeichnis existiert, können Sie den Besitz separat festlegen:

     `chmod 700 .ssh/`
     `chown -R username:username /path/to/home/.ssh`
    
  6. Wechseln Sie zu .ssh/ Verzeichnis und authorized_keys Datei:

     ```cd .ssh/
     vim authorized_keys
     ll```
    
  7. Fügen Sie den öffentlichen SSH-Schlüssel am Ende von authorized_keys hinzu Datei:

     `vim authorized_keys`
    
  8. Ändern Sie die Berechtigungen auf 600 und stellen Sie den ordnungsgemäßen Besitz der Datei sicher:

     `chmod 600 authorized_keys`
     `chown -R username:username authorized_keys`
    

Passwortauthentifizierung deaktivieren

Wenn Sie möchten, dass sich alle Benutzer mit öffentlichen Schlüsseln und nicht mit Passwörtern anmelden, können Sie die Passwortauthentifizierung deaktivieren.

Wichtig :Das Deaktivieren der Passwortauthentifizierung sperrt Benutzer, die ein Passwort für den Zugriff auf den Server verwendet haben, wenn die SSH-Authentifizierung nicht für ihr Konto konfiguriert ist.

  1. Erstellen Sie ein Backup der sshd_config Datei, bevor Sie Änderungen vornehmen:

    mkdir /home/username/backup
    cp /etc/ssh/sshd_config /home/username/backup/sshd_config.bak
    
  2. Öffnen Sie die sshd_config Datei:

     `vim /etc/ssh/sshd_config`
    
  3. Suchen Sie die PubkeyAuthentication Parameter und setzen Sie ihn auf yes. Wenn die Zeile kommentiert ist, entfernen Sie alle Kommentarzeichen (# ).

  4. Suchen Sie die PasswordAuthentication -Parameter in derselben Datei und setzen Sie ihn auf no .

  5. Speichern Sie die Änderungen an der Datei und beenden Sie die Datei.

  6. Prüfen Sie die Syntax mit sshd -t . Wenn es keine Fehler gibt, laden Sie sshd neu :

     `service sshd reload`
    

Zusätzliche Anmerkungen:

  1. Für die private Schlüsseldatei auf Ihrer lokalen Arbeitsstation (Client-Seite) sollten die Berechtigungen auf 600 gesetzt sein , und die .ssh Verzeichnis sollten die Berechtigungen auf 700 gesetzt haben . Dieauthorized_keys-Dateien funktionieren auch mit 644 Berechtigungen, aber 600 ist sicherer.

Linux
  1. So konfigurieren Sie die SSH-Schlüssel-basierte Authentifizierung in Linux

  2. Ein kleiner SSH-Dateikopierzauber auf der Kommandozeile

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

  4. Ssh – Passwörter an ein Skript übergeben?

  5. Importieren Sie den SSH-Schlüssel als Gpg-Unterschlüssel zur Verwendung für die SSH-Authentifizierung?

So verwenden Sie die Public-Key-Authentifizierung mit SSH

So richten Sie den öffentlichen und privaten SSH-Schlüssel unter Linux ein

Wie richte ich die ssh-schlüsselbasierte Authentifizierung für Github mithilfe der Datei ~/.ssh/config ein?

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

So konvertieren Sie den privaten Schlüssel von PuTTY (.ppk) in einen SSH-Schlüssel

Öffentlichen Schlüssel zur Datei known_hosts hinzufügen