Die häufigsten benutzerdefinierten SSH -Konfigurationen des OpenSSH -Servers

Die häufigsten benutzerdefinierten SSH -Konfigurationen des OpenSSH -Servers

Der OpenSsh Lassen Sie uns sicherere, verschlüsselte Verbindungen zwischen Maschinen erstellen. In diesem Tutorial werden wir uns einige der nützlichsten Optionen ansehen, mit denen wir das Verhalten von ändern können sshd, Die OpenSsh Daemon, um Ihre Linux -Systemverwaltungsjob zu erleichtern.

In diesem Artikel nehmen wir die Existenz eines bereits ausgeführten und zugänglichen Servers aus. Wenn Sie mehr über OpenSSH -Installation erfahren möchten, können Sie sich diesen Artikel über die Installation von SSH -Server unter Ubuntu Linux ansehen.

In diesem Tutorial lernen Sie:

  • So passen Sie das Verhalten des SSHD -Daemons an, indem Sie Optionen in der Haupt -SSH -Konfigurationsdatei manipulieren /etc/ssh/sshd_config
  • So ändern Sie die vom Server verwendeten Standard -Ports (en)
  • So ändern Sie die Adresse, an die der Server hört
  • So ändern Sie die maximale SSH -Anmeldezeit
  • Wie man sich als root anmelden oder verweigert oder verweigert
  • So ändern Sie die maximalen Anmeldesversuche und die maximale Anzahl der geöffneten Sitzungen
  • So zeigen Sie eine Nachricht an, wenn der Benutzer versucht, sich mit dem Server zu authentifizieren
  • So aktivieren/deaktivieren Sie Kennwort und Pubkey -Authentifizierung
  • So aktivieren/deaktivieren Sie HostbasedAuthentication
  • Aktivierung/Behinderung der X11 -Weiterleitung


Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Verteilungsunabhängige
Software Es ist keine zusätzliche Software erforderlich, um dieses Tutorial abzuhalten, abgesehen von OpenSSH
Andere Ein laufender OpenSSH -Server
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

Die SSHD -Daemon -Konfigurationsdatei

Standardmäßig sshd, Die OpenSsh Daemon liest seine Konfiguration aus dem /etc/ssh/sshd_config Datei. Ein anderer Dateipfad kann durch die Verwendung der angegeben werden -F Option beim Starten des Daemons. Es gibt viele Optionen, die wir ändern können, um das Verhalten des Daemons zu verändern. Obwohl es nicht möglich ist, alle hier zu erwähnen, werden wir einige der am häufigsten verwendeten sehen und was wir erhalten können, indem wir ihre Werte ändern. Jedes Mal, wenn eine Option geändert wird, sollte der Daemon neu gestartet werden, um die Änderungen effektiv zu machen. Bei der Verwendung von Systemd ist der zu ausgeführte Befehl:

$ sudo systemctl starten sshd neu starten

Ändern der vom Server verwendeten Ports (en)

Das heißt a Sicherheit durch Dunkelheit Maßnahme: Standardmäßig die sshd Daemon hört auf Port zu 22. Das Ändern des verwendeten Ports verbessert die Sicherheit an sich nicht, da es trivial ist, einen Port -Scan zu erstellen und zu sehen, welche Ports von einer Maschine verwendet werden. Mehr als oft richtet sich jedoch die Anmeldeversuche der Brute Force nur auf den Standardport, sodass das Ändern des verwendeten Ports helfen kann. Um den Daemon zu unterweisen, einen bestimmten Port anzuhören, verwenden wir die Hafen Option und geben Sie die Portnummer an:

Port 1024


Es können mehrere Vorkommen der Option bereitgestellt werden: Der Server hört alle angegebenen Ports an. Bevor Sie den SSH -Server neu starten, um die Änderung effektiv zu machen, ist es wirklich wichtig, die Firewall -Regeln entsprechend der Änderung zu ändern. Auf der Clientseite müssen wir die Portnummer mit dem verwenden, um mithilfe eines bestimmten Ports eine Verbindung herzustellen -P Option (kurz für -port). Zum Beispiel würden wir uns mit Port 1024 anmelden, um zu schreiben:

$ ssh -p 1024 egdoc@feanor

Um zu vermeiden, dass der Port jedes Mal angeben, wenn wir eine Verbindung zum Server herstellen, können wir einen Eintrag dafür in der ~/.ssh/config Datei (wir müssen sie möglicherweise erstellen, da sie standardmäßig nicht vorhanden ist und wir sie nur vom Benutzer zugänglich machen müssen) wie im folgenden Beispiel:

Host Feanor Hostname 192.168.0.39 Port 1024

Auf diese Weise werden wir jedes Mal versuchen, SSH in eine Übereinstimmung zu setzen Gastgeber (Feanor in diesem Fall) Die in der verwandten Strophe der SSH -Konfigurationsdatei angegebene Parameter werden automatisch angewendet.

Ändern der Adresse der Server hört auf

Zusätzlich zum Port der Port sshd Daemon hört zu, wir können auch die ändern Anhörenadresse. Standardmäßig hört der Server alle lokalen Adressen an. Beispiele für die Syntax, die mit dieser Option verwendet werden soll, finden Sie bereits in der SSH -Konfigurationsdatei:

#ListenAddress 0.0.0.0 #ListenAddress ::

Wir können die Adresse auf eine der folgenden Arten angeben:

  • Host | IPv4 -Adresse | IPv6 -Adresse
  • Host | IPv4 -Adresse: Port
  • Host | IPv6 -Adresse: Port

Die zu verwendende Option wird aufgerufen Listenaddress Mehrere Vorkommen der Optionen sind zulässig, um mehrere Adressen anzugeben. Wir können benutzen IPv4 oder IPv6 Adresse und optional den zu verwendenden Port angeben. Wenn wir keinen Port angeben, der sshd Daemon hört auf die mit dem angegebenen Port (en) an Hafen Option, die wir oben gesehen haben.

Ändern der maximalen Anmeldezeit

Wir können die konfigurieren OpenSsh Dämon zu trennen nach einer bestimmten Zeit, wenn sich der Benutzer nicht erfolgreich anmeldet. In diesem Fall wird die Option, die wir ändern möchten, aufgerufen Lagingracetime. Alles, was wir tun müssen, ist, den Zeitlimitwert beispielsweise zu liefern:

Lagingracetime 2M

Der Standardwert für diese Option ist 120s (Sekunden)

Login als Root zulassen oder verweigern

Durch Verwendung der Erlaubnisrootlogin Option können wir feststellen, ob die sshd Daemon sollte es dem Stammbenutzer ermöglichen, sich direkt anzumelden. Die Option akzeptiert einen dieser Werte:

  • Ja
  • NEIN
  • Verbot-Passwort
  • nur erzwungene Kommandale

Die ersten beiden Werte sind ziemlich selbsterklärend. Beim Benutzen Ja Der Stammbenutzer darf sich bei Verwendung über SSH anmelden NEIN Diese Möglichkeit wird abgelehnt. Der Verbot-Passwort Und nur erzwungene Kommandale Werte sind interessanter.

Wenn der erstere
wird als Wert der verwendet Erlaubnisrootlogin Interaktive Anmeldungen für Option, Kennwort und Tastatur sind deaktiviert, der Root -Benutzer kann sich jedoch mit a anmelden Öffentlicher Schlüssel. Wenn nur erzwungene Kommandale wird verwendet, stattdessen ist die Stammmeldung über die öffentliche Schlüsselauthentifizierung zulässig, jedoch nur wenn a Befehl Die Option ist im autorisierten Schlüssel angegeben. Zum Beispiel:

command = "ls -a" ssh -rsa […]


Oben haben wir angegeben ls -a Als Befehl für den SSH -Schlüssel, der von der Root verwendet wird. Auf diese Weise wird der Befehl ausgeführt, wenn Sie mit dem Schlüssel eine Verbindung herstellen, und dann wird die Verbindung zum Server geschlossen. Überprüfen wir es (hier nahm ich an, dass der Schlüssel bereits auf dem Client vorhanden ist und auf dem Server autorisiert wurde):

$ ssh root@feanor geben Sie Passphrase für Key '/Home/EGDOC/ein.ssh/id_rsa ':… Bash_history .bashrc .Profil .ssh .Vim .Viminfo -Verbindung zu Feanor geschlossen.

Ändern der MAX -Anmeldeversuche und der maximalen Anzahl der geöffneten Sitzungen

Weitere zwei Parameter, die wir möglicherweise ändern möchten. Wir können den ersteren Parameter mit der Verwendung des Parameters ändern MaxAuthtries Option, die Anzahl der zulässigen Versuche bereitzustellen (Standardwert ist 6). Letztere können stattdessen mit der Verwendung der geändert werden Maxsesions Möglichkeit. Diese Option erfordert auch einen Ganzzahlwert, der Standard ist 10.

Zeigen Sie eine Nachricht an, wenn der Benutzer versucht, sich mit dem Server zu authentifizieren

Wir können die verwenden Banner Option zum Angeben einer Datei mit einem Text, den wir an den Benutzer senden möchten, bevor er sich an den Server authentifiziert. Der Standardwert für die Option ist keiner, Es wird also kein Banner angezeigt. Hier ist ein Beispiel. Die von uns erstellte/etc/ssh/Bannerdatei enthält einen Text, den wir als Nachricht verwenden. Wenn wir die Option unten festlegen:

Banner/etc/ssh/Banner.txt

Wenn wir uns anmelden, erhalten wir das folgende Ergebnis:

$ ssh egdoc@feanor #################################Test Banner ############################################################################################# zu erhalten #######################Egdoc@Feanors Passwort: 

Aktivieren/Deaktivieren von Passwort und Pubkey -Authentifizierung.

Der sshd Daemon bietet eine mehrfache Möglichkeit, Benutzer zu authentifizieren. Wir können die Authentifizierung durch Passwort oder öffentlichen Schlüssel mithilfe der Aktivität aktivieren oder deaktivieren PasswortAuthentication Und PubkeyAuthentication Optionen. Standardmäßig sind beide Optionen normalerweise auf Ja: Dies bedeutet, dass der Benutzer eine Verbindung zum Server herstellen kann, indem er sein Passwort bereitstellt und auch einen öffentlichen Schlüssel verwendet, den er besitzt (der Schlüssel kann auch durch ein Passwort geschützt werden). Um eine der beiden Optionen zu deaktivieren, die wir einfach verwenden NEIN als Wert. Wenn Sie beispielsweise nur die Anmeldung von öffentlichen Schlüssel zulassen möchten, können wir feststellen:

PasswortAuthentication -Nr

Auf diese Weise haben nur Benutzer, die eine haben Öffentlicher Schlüssel In der autorisierten Schlüsseldatei enthalten können sich beim Server anmelden. Die autorisierte Schlüsseldatei ist die Datei, die die zulässigen öffentlichen Schlüssel enthält. Standardmäßig ist die Datei .ssh/autorized_keys im Home -Verzeichnis des Benutzers auf dem Server, dies kann jedoch mit dem geändert werden AutorizedKeysFile Option und Angabe einer alternativen Datei, die entweder eine bereitstellen absolut oder ein relativ Weg. Wenn ein relativer Weg verwendet wird. Die Option kann auch auf festgelegt werden keiner: Auf diese Weise sucht der Server in Dateien nicht nach öffentlichen Schlüssel.

Aktivieren/Deaktivieren von HostBasedAuthentication

Der OpenSSH -Server kann so eingestellt werden Hostbasiert Authentifizierung. Bei Verwendung dieser Art der Authentifizierung authentifiziert sich ein Host im Namen aller oder eines seiner Benutzer. Die Option wird auf eingestellt NEIN standardmäßig. Einstellen der Option zu Ja reicht nicht aus, um hostbasierte Authentifizierung funktionieren zu lassen.

Aktivierung/Behinderung der X11 -Weiterleitung

Der X11 Das Fenstersystem verfügt über eine Client-Server-Architektur: Die Clients sind die vielen grafischen Anwendungen, die eine Verbindung zum Server anfordern, die Anzeigen verwaltet. Der X11 -Server und seine Clients werden häufig auf demselben Computer ausgeführt, aber dies ist nicht erforderlich. Es ist möglich, über ein dediziertes, aber unsicheres Protokoll auf einen Remote X11 -Server zuzugreifen. OpenSsh Lassen Sie uns die Verbindung sicher ausführen und einen verschlüsselten Tunnel erstellen. Die Option, die dieses Verhalten steuert X11foren. Die Funktion ist im Allgemeinen standardmäßig deaktiviert, sodass sie auf festgelegt ist NEIN.

Wir müssen die Option festlegen Ja Wenn wir es ausnutzen wollen. Auf der Clientseite aktivieren wir die Funktion mit der Verwendung des -X Option aus der Befehlszeile oder festlegen Vorwärts111 Zu Ja In der Client -Konfigurationsdatei. Angenommen, wir haben X11 auf der Remote -Maschine rennen. Wir möchten die SSH -Verbindung verwenden, um die Anwendung „Pluma“ (ein leichter Texteditor) zu starten und sie mit X11forwarding zu steuern. Wir rennen:

$ ssh egdoc@feanor -x Pluma


Das Programm wird gestartet. In der Titelleiste können wir eindeutig sehen, dass es auf „Feanor“ ausgeführt wird, was der Name der Remote -Maschine ist.



X11 Weiterleitung in Aktion

Abschluss

In diesem Tutorial haben wir gesehen, was der Standard ist sshd Dämon -Konfigurationsdatei und wir haben gelernt, wie wir einen alternativen verwenden können, indem wir ihren Pfad mit dem angeben -F Option beim Starten des Dienstes. Wir haben uns auch einige der nützlichsten Optionen angesehen, die wir in dieser Datei verwenden können, um das Verhalten von SSHD zu ändern. Wir haben gesehen, wie man kennwortbasierte und öffentlich-Schlüssel-basierte Authentifizierungen zulässt oder verweigert. wie man das Root -Login aktiviert oder verweigert; So aktivieren oder deaktivieren Sie die X11 -Weiterleitungsfunktion und wie der Server eine Nachricht anzeigen, wenn ein Benutzer versucht, sich darauf zu authentifizieren.

Wir haben auch festgestellt. Um mehr über die möglichen Serverkonfigurationen zu erfahren.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Wie man OpenSSH optimal nutzt
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Linux: Setup SSH
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Dinge zu installieren auf Ubuntu 22.04
  • So überwachen Sie die Netzwerkaktivität auf einem Linux -System
  • Installieren Sie Arch Linux in VMware Workstation
  • Linux -Download