Die häufigsten benutzerdefinierten SSH -Konfigurationen des OpenSSH -Servers
- 1469
- 433
- Tamina Liebach
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
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
- « Konnte nicht locking var lib dpkg lock - ubuntu/debian bekommen
- Installieren und konfigurieren Sie MySQL Workbench unter Ubuntu Linux »