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

Beschränken Sie die SSH-Anmeldung auf eine bestimmte IP oder einen bestimmten Host

Dieser Artikel beschreibt, wie Sie eine eingeschränkte Secure Shell (SSH)-Anmeldung bei einem Server von einer bestimmten IP-Adresse oder einem bestimmten Hostnamen aus konfigurieren.

Um dies zu erreichen, verwenden Sie TCP-Wrapper, da sie eine grundlegende Verkehrsfilterung des eingehenden Netzwerkverkehrs bieten. Obwohl oberflächlich komplexer, verwenden TCP-Wrapper im Wesentlichen zwei Dateien:/etc/hosts.allow und /etc/hosts.deny .

Wenn die Dateien noch nicht existieren, können Sie sie erstellen. sie mit dem folgenden Befehl:

sudo touch /etc/hosts.{allow,deny}

Alle Hosts ablehnen

Es gilt als Best Practice, alle eingehenden SSH-Verbindungen abzulehnen. Führen Sie dazu die folgenden Schritte aus:

  1. Öffnen Sie die Datei /etc/hosts.deny mit einem Texteditor:

     vi /etc/hosts.deny
    
  2. Fügen Sie die folgende Zeile hinzu, um alle eingehenden SSH-Verbindungen zum Server abzulehnen:

     sshd: ALL
    
  3. Speichern und schließen Sie die Datei.

Das ist es. Dadurch wird der gesamte SSH-Zugriff auf den Host blockiert

IP-Adressen zulassen

Führen Sie nun die folgenden Schritte aus, um die IP-Adressen mit Autorisierung für die Anmeldung über SSH zu konfigurieren:

  1. Öffnen Sie die Datei /etc/hosts.allow Datei mit einem Texteditor:

     vi /etc/hosts.allow
    
  2. Fügen Sie eine sshd hinzu Zeile, um der IP-Adresse Ihrer Wahl die Verbindung über öffentliches SSH zu ermöglichen. Beispielsweise erlaubt die folgende Zeile das Netzwerk 172.168.0.21 :

     sshd: 172.168.0.21
    
  3. Speichern und schließen Sie die Datei.

Die TCP-Wrapper-Dateien akzeptieren eine durch Kommas getrennte Liste von Einträgen, sodass Sie Adressen an den ersten Eintrag in diesem Abschnitt anhängen können.

sshd: 172.168.0.21, 10.83.33.77, 10.63.152.9, 10.12.100.11, 10.82.192.28

Sie akzeptieren auch Teil-IP-Adressen als Subnetze, sodass Sie den gesamten 172.168.0.0/24 zulassen können als:

sshd: 172.168.0.

Oder wie im folgenden Beispiel gezeigt:

sshd : localhost
sshd : 192.168.0.
sshd : 99.151.250.7

Sie können basierend auf IP-Adresse, Subnetz oder Hostname zulassen oder ablehnen. Listen Sie die Regeln in der Reihenfolge von den meisten bis zu den am wenigsten spezifischen auf. Denken Sie daran, dass Server, die auf Linux®-Betriebssystemen basieren, zuerst die Datei hosts.allow prüfen Datei beginnend von oben nach unten, gefolgt von hosts.deny Datei. Beispielsweise ein SSH-Verbindungsversuch von einer IP-Adresse in hosts.allow ist erlaubt, obwohl hosts.deny blockiert alle Verbindungen.

Mit dieser Konfiguration kann jeder in der hosts.allow aufgeführte Client Datei sind über SSH erlaubt und alle nicht aufgeführten Clients werden blockiert.

Hinweis :Der SSH-Daemon muss nicht neu gestartet werden, damit die Änderungen wirksam werden.


Linux
  1. SSH-Anmeldung

  2. Remote-SSH-Zugriff zulassen?

  3. So deaktivieren Sie die SSH-Anmeldung mit Passwort

  4. CentOS / RHEL :So beschränken Sie die SSH-Anmeldung nach Tageszeit

  5. So konfigurieren Sie SSH, um Benutzer/Gruppen mit Allow- und Deny-Anweisungen einzuschränken

So richten Sie eine passwortlose SSH-Anmeldung ein

SSH-Root-Anmeldung auf dem Ubuntu 14.04-Linux-Server zulassen

SSH-Root-Anmeldung auf Ubuntu 20.04 Focal Fossa Linux zulassen

SSH-Root-Anmeldung unter Ubuntu 22.04 Jammy Jellyfish Linux zulassen

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

SCP zulassen, aber keine tatsächliche Anmeldung mit SSH