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

Deaktivieren Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen

In diesem Handbuch wird erläutert, wie Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen in Linux- und Unix-Betriebssystemen deaktivieren.

Bitte beachten Sie, dass wir den SSH-Zugriff für Benutzer oder eine Gruppe nicht vollständig deaktivieren werden. Stattdessen deaktivieren wir nur die SSH-Passwortauthentifizierung.

Die Benutzer können weiterhin über SSH auf die Systeme zugreifen, indem sie andere Authentifizierungsmethoden verwenden, beispielsweise die SSH-Schlüssel-basierte Authentifizierung.

SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen deaktivieren

Wir können den SSH-Zugriff für Benutzer und/oder eine ganze Gruppe mit "/etc/ssh/sshd_config" zulassen oder verweigern Datei unter Linux. Die Datei sshd_config hat einen Parameter namens "Match" was Ihnen hilft, die SSH-Passwortauthentifizierung für Benutzer oder Gruppen zu deaktivieren.

Sehen wir uns zunächst an, wie die Kennwortauthentifizierung für einen bestimmten Benutzer deaktiviert wird.

Bearbeiten Sie die Datei „/etc/ssh/sshd_config“ mit Ihrem bevorzugten Editor als Root- oder Sudo-Benutzer:

$ sudo nano /etc/ssh/sshd_config

Entfernen Sie zunächst die Standardauthentifizierungsmethode, indem Sie die folgende Zeile auskommentieren:

#PasswordAuthentication yes

Als nächstes fügen Sie am Ende die folgenden Zeilen hinzu:

[...]
Match User senthil
    PasswordAuthentication no

SSH-Passwortauthentifizierung für bestimmten Benutzer deaktivieren

Bitte beachten Sie, dass Match „entweder bis zu einer weiteren Match-Zeile oder bis zum Ende der Datei“ wirksam ist. Wenn ein Schlüsselwort in mehreren Übereinstimmungsblöcken vorkommt, die erfüllt sind, wird nur die erste Instanz des Schlüsselworts angewendet.

Wie im obigen Beispiel haben wir die SSH-Passwortauthentifizierung für den Benutzer namens "senthil" deaktiviert. Ersetzen Sie „senthil“ durch Ihren eigenen Benutzernamen. Speichern und schließen Sie die Datei. Starten Sie den ssh-Dienst neu, um die Änderungen zu übernehmen:

$ sudo systemctl restart ssh

Versuchen Sie nun, sich als Benutzer „senthil“ über SSH anzumelden:

$ ssh [email protected]

Sie sehen die folgende Fehlermeldung:

[email protected]: Permission denied (publickey).

Deaktivieren Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer in Linux

SSH-Passwortauthentifizierung für eine Gruppe deaktivieren

Um die SSH-Passwortauthentifizierung für eine bestimmte Gruppe zu deaktivieren, ersetzen Sie einfach den Benutzernamen durch den Gruppennamen in der Datei sshd_config.

Match Group mygroup
    PasswordAuthentication no

Ersetzen Sie "mygroup" in der obigen Konfiguration durch Ihren eigenen Gruppennamen.

Vergessen Sie nicht, den ssh-Dienst neu zu starten, um die Änderungen zu übernehmen.

SSH-Passwortauthentifizierung für mehrere Benutzer deaktivieren

Sie können die SSH-Passwortauthentifizierung für mehrere Benutzer verweigern, indem Sie die Benutzernamen durch Kommas getrennt wie unten angeben:

Match User senthil,kumar
    PasswordAuthentication no

Die obige Beispielkonfiguration verhindert die SSH-Passwortauthentifizierung für die Benutzer „senthil“ und „kumar“.

SSH-Passwortauthentifizierung für alle Benutzer außer Root-Benutzer deaktivieren

In manchen Linux-Systemen möchten Sie vielleicht die SSH-Passwort-Authentifizierung nur für „root“-Benutzer zulassen und sie für alle anderen Benutzer deaktivieren. Fügen Sie in diesem Fall am Ende die folgende Zeile in die Datei sshd_config ein:

Match User !root
    PasswordAuthentication no

Beschränken Sie die SSH-Passwortauthentifizierung nach Host oder IP-Adresse

Nicht nur Benutzer oder Gruppen, wir können die SSH-Passwortauthentifizierung auch nach Host oder IP-Adresse verweigern.

Das folgende Beispiel verhindert beispielsweise den SSH-Zugriff von einem Host, der die IP-Adresse enthält:

Match Address 192.168.225.37
       PasswordAuthentication no

Um die SSH-Passwortauthentifizierung für einen bestimmten Bereich von IP-Adressen einzuschränken, fügen Sie Folgendes hinzu:

Match Address 192.168.225.*
      PasswordAuthentication no

Und dieses Beispiel verweigert den SSH-Zugriff mit einem Passwort von einem Host, der den Hostnamen enthält:

Match Address hostname
       PasswordAuthentication no

Weitere Einzelheiten finden Sie in den Manpages.

$ man sshd_config

Schlussfolgerung

In diesem Handbuch haben wir besprochen, wie Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen in Linux deaktivieren können. Wir haben uns außerdem angesehen, wie man den SSH-Passwortzugriff für mehrere Benutzer deaktiviert und wie man den SSH-Passwortzugriff auf alle Benutzer außer für Root-Benutzer beschränkt. Schließlich haben wir gelernt, wie man die SSH-Passwortauthentifizierung nach Host oder IP-Adresse einschränkt.

Andere SSH-bezogene Anleitungen:

  • So konfigurieren Sie die schlüsselbasierte SSH-Authentifizierung unter Linux
  • SSH-Zugriff für einen bestimmten Benutzer oder eine bestimmte Gruppe in Linux zulassen oder verweigern
  • Begrenzen Sie die Anzahl der SSH-Anmeldungen pro Benutzer/Gruppe/System
  • Beschränken Sie den Zugriff auf Linux-Server mithilfe von TCP-Wrappern
  • Befehle auf Remote-Linux-Systemen über SSH ausführen
  • So erstellen Sie einen SSH-Alias ​​unter Linux
  • SSH in ein bestimmtes Verzeichnis unter Linux
  • SSLH – Verwenden Sie denselben Port für HTTPS und SSH
  • ScanSSH – Schneller SSH-Server und offener Proxy-Scanner
  • So setzen Sie teilweise übertragene Dateien über SSH mit Rsync fort
  • So führen Sie einen einzelnen Befehl gleichzeitig auf mehreren Remote-Systemen aus
  • DSH – Führen Sie einen Linux-Befehl auf mehreren Hosts gleichzeitig aus
  • So verhindern Sie, dass die SSH-Sitzung unter Linux getrennt wird
  • So aktivieren Sie SSH auf FreeBSD

Hoffe das hilft.


Linux
  1. Benutzer-Shell aus Sicherheitsgründen deaktivieren?

  2. Wie gebe ich ein Passwort für mehrere Windows ein?

  3. So deaktivieren Sie einen bestimmten Befehl für einen bestimmten Benutzer in Linux

  4. Verwalten eines Benutzerpassworts für Linux in Puppet

  5. Einfaches Passwort für Root-Benutzer auf CentOS aktivieren

So deaktivieren Sie die SSH-Passwortauthentifizierung auf Linux VPS

So finden Sie heraus, ob ein Benutzer unter Linux eine kennwortbasierte oder schlüsselbasierte SSH-Authentifizierung verwendet

So richten Sie die Multi-Faktor-Authentifizierung für SSH unter Linux ein

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

Wie deaktiviere ich die SSH-Anmeldung für den Root-Benutzer in Linux?

Beschränken Sie den passwortbasierten SSH-Zugriff pro Benutzer, erlauben Sie jedoch die Schlüsselauthentifizierung