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.