GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Webmin

SSH-Server

Sichere Shell oder SSH ist ein Protokoll für die sichere Anmeldung und Übertragung von Dateien zwischen Computern über ein Netzwerk. Der gesamte SSH-Verkehr wird verschlüsselt, sodass niemand, der das Netzwerk abhört, Passwörter abfangen kann, was eine enorme Verbesserung gegenüber den unsicheren Telnet- und FTP-Protokollen darstellt. In gewisser Weise kann SSH als sicherer Ersatz für diese Protokolle angesehen werden, obwohl es tatsächlich für viel mehr verwendet werden kann.

Ein SSH-Server ist ein Daemon-Prozess, der auf einem Unix-System läuft und auf Verbindungen wartet. Ein SSH-Client ist ein Programm, das von einem Benutzer (oder von einem Skript) ausgeführt wird und eine Verbindung zu einem Server herstellt, um eine Remote-Anmeldesitzung zu starten oder einige Dateien zu übertragen. Sowohl der Client als auch der Server authentifizieren sich gegenseitig, sodass sich jeder der Identität des anderen sicher sein kann. Die Client-Authentifizierung erfolgt entweder mit Benutzername und Passwort oder mit Benutzername und privatem Schlüssel, während die Server-Authentifizierung immer einen Schlüssel verwendet.

Es sind viele verschiedene SSH-Clients und -Server verfügbar, aber die beiden gängigsten Client/Server-Pakete auf Unix-Systemen sind das frei verfügbare Open-Source-OpenSSH und das ursprüngliche kommerzielle SSH. Außerdem gibt es zwei verschiedene Versionen des Protokolls, die nicht kompatibel sind, die Versionen 1 und 2. Glücklicherweise unterstützen die neuesten Versionen beider Pakete beide Versionen.

Das Verzeichnis /etc/ssh enthält alle Konfigurationsdateien, die von beiden SSH-Servern verwendet werden, und obwohl die Dateinamen dieselben sind, unterscheiden sich ihre Formate geringfügig. Die primäre Datei heißt sshd_config und besteht aus einer Reihe von Anweisungen, eine pro Zeile. Wie es bei Unix-Serverkonfigurationsdateien üblich ist, legt jede eine Option fest, wie die Liste der abgelehnten Benutzer oder die IP-Adresse, auf der gelauscht werden soll. Dasselbe Verzeichnis enthält auch die Datei ssh_config, die Optionen festlegt, die für die auf Ihrem System ausgeführten SSH-Client-Programme (wie ssh und scp) gelten. Beide Dateien werden direkt von dem in diesem Kapitel behandelten Webmin-Modul bearbeitet.

Inhalt

Das SSH-Servermodul

Dieses Kapitel befasst sich mit der Konfiguration der kommerziellen SSH- und OpenSSH-Server und setzt voraus, dass Sie als Anwender über Grundkenntnisse der Client-Programme verfügen. Das Webmin-Modul, mit dem diese Konfiguration durchgeführt werden kann, heißt SSH Server und ist in der Kategorie Server zu finden. Wenn Sie auf das Symbol klicken, gelangen Sie zur Hauptseite, die im Bild unten gezeigt wird, vorausgesetzt, das SSH-Paket ist installiert.

Das SSH-Servermodul

Wenn eine Fehlermeldung wie Die SSH-Server-Konfigurationsdatei /etc/ssh/sshd_config wurde auf Ihrem System nicht gefunden erscheint, ist wahrscheinlich kein SSH-Server auf Ihrem System installiert. Die meisten modernen Linux-Distributionen werden mit einem OpenSSH-Paket geliefert, also suchen Sie auf Ihrer Distributions-CD oder Website nach Paketen, deren Namen mit openssh oder ssh beginnen. Oft gibt es mehrere, wie etwa openssh, openssh-client und openssh-server, die alle installiert werden sollten. Möglicherweise müssen Sie auch die OpenSSL-Bibliothek installieren, die ebenfalls in Paketform verfügbar sein sollte. Verwenden Sie das Modul Softwarepakete, suchen Sie nach allem, was benötigt wird, und installieren Sie es.

Wenn für Ihr Betriebssystem kein SSH-Paket vorhanden ist, müssen Sie den OpenSSH- oder kommerziellen SSH-Quellcode herunterladen, kompilieren und installieren. Wie zu erwarten, ist OpenSSH unter http://www.openssh.org/ zu finden, während das ursprüngliche SSH von http://www.ssh.com/ heruntergeladen werden kann. Die Installation sollte auf jedem Unix-Betriebssystem einfach sein, vorausgesetzt, Sie haben einen Compiler installiert. Die einzige Abhängigkeit ist eine SSL-Bibliothek wie OpenSSL, die von http://www.openssl.org/ heruntergeladen werden kann.

Nach der Installation sollten Sie sicherstellen, dass der SSH-Server beim Booten gestartet wird. Dies kann erreicht werden, indem das Bootup and Shutdown-Modul verwendet wird, um eine Aktion zu erstellen, die beim Start den Befehl sshd ausführt. Wenn es bereits eine Aktion namens sshd oder ssh-server gibt, müssen Sie nur sicherstellen, dass sie aktiviert ist.

Unabhängig davon, wie Sie den SSH-Server installieren, sollte es Clients ermöglichen, sich sofort mit der Standardkonfiguration anzumelden und Dateien zu übertragen, sobald der Serverprozess gestartet wurde. Tatsächlich ist auf einem typischen System nur sehr wenig Konfiguration erforderlich, da die Standardeinstellungen für den durchschnittlichen Server geeignet sind.

Die beiden unterschiedlichen SSH-Implementierungen und ihre vielen Versionen haben alle leicht unterschiedliche Konfigurationsdateiformate, an die sich das Modul anpassen muss. Das bedeutet, dass die Formulare und Felder, aus denen sich die Benutzeroberfläche zusammensetzt, je nach Version und Typ des installierten Servers nicht immer gleich sind. Die Anweisungen und Screenshots in diesem Kapitel wurden im Hinblick auf die OpenSSH-Version 2.5 geschrieben, aber alle Unterschiede oder zusätzlichen Funktionen, die andere SSH-Versionen haben, werden ebenfalls erwähnt.

Auf der Hauptseite werden jedoch immer sechs Symbole angezeigt, unter denen sich jeweils ein Formular mit Feldern zum Einstellen von Optionen in Bezug auf bestimmte Kategorien wie Authentifizierung oder Netzwerk befindet. Oben wird die Implementierung und Version von SSH angezeigt, damit Sie sehen können, welche der Anweisungen in diesem Kapitel auf Ihr System zutrifft. Unten befindet sich eine Schaltfläche mit der Aufschrift Änderungen übernehmen die beim Anklicken dem SSH-Server signalisiert, seine Konfigurationsdatei erneut zu lesen. Im Modul vorgenommene Änderungen werden erst wirksam, wenn Sie auf diese Schaltfläche klicken.

Authentifizierung

SSH-Server – Authentifizierung ‎

Alle SSH-Implementierungen haben Optionen, die sich darauf beziehen, wie sich Clients authentifizieren und welche Nachrichten ihnen nach der Anmeldung angezeigt werden. Insbesondere können Sie die Authentifizierung durch Benutzername und Kennwort oder Benutzername und Zertifikat zulassen oder verweigern, die Anmeldung des Root-Benutzers stoppen und steuern, ob .rhosts-Dateien im rlogin-Stil vertrauenswürdig sind. Die genauen Optionen unterscheiden sich jedoch ziemlich stark zwischen den SSH-Versionen, was also mit OpenSSH möglich ist, ist möglicherweise nicht möglich, wenn Sie den kommerziellen SSH-Server ausführen.

Gehen Sie wie folgt vor, um die Authentifizierungseinstellungen zu bearbeiten:

  1. Klicken Sie auf die Authentifizierung Symbol auf der Hauptseite des Moduls, um ein Formular wie das unten gezeigte aufzurufen.
  2. Wählen Sie Ja, damit Benutzer beim Anmelden benachrichtigt werden, wenn neue E-Mails in ihren E-Mail-Dateien vorhanden sind für Benutzer über neue E-Mail benachrichtigen? Feld. Dies funktioniert jedoch nur, wenn Sie den Standardspeicherort für Maildateien auf Ihrem System verwenden, und nicht, wenn die Zustellung an Mailbox oder Maildir in den Home-Verzeichnissen der Benutzer erfolgt.
  3. Um zu verhindern, dass sich Benutzer mit einem Passwort anmelden, ändern Sie die Option Authentifizierung per Passwort zulassen? Feld auf Nein . Dies bedeutet, dass nur die Zertifikatsauthentifizierung akzeptiert wird, was für Benutzer, die sich noch nie zuvor angemeldet haben und daher keinen privaten Schlüssel erstellen können, nicht allzu nützlich ist. Es ist nur nützlich, wenn Ihr System NFS-gemountete Home-Verzeichnisse verwendet oder wenn ein anderer Mechanismus vorhanden ist, mit dem Benutzer ihre öffentlichen Schlüssel festlegen können. Dieses Feld ist nicht verfügbar, wenn Sie die kommerzielle SSH-Version # oder höher ausführen.
  4. Um Anmeldungen mit leerem Passwort zuzulassen oder zu verweigern (vorausgesetzt, dass dies für einen Benutzer tatsächlich richtig ist), ändern Sie das Feld *Anmeldungen mit leeren Passwörtern zulassen?*. Möglicherweise möchten Sie dies blockieren, bis die Benutzer ihre Kennwörter auf andere Weise festgelegt haben.
  5. Auch wenn eine Root-Anmeldung über SSH viel sicherer ist als eine über Telnet (das unverschlüsselt ist), möchten Sie dies vielleicht trotzdem verhindern. Wählen Sie dazu Nein aus Anmeldung durch Root zulassen? Speisekarte. Sie können auch Nur mit RSA-Authentifizierung auswählen um Root-Anmeldungen zu zwingen, ein Zertifikat zur Authentifizierung zu verwenden, oder Nur für Befehle um nur die Ausführung eines einzelnen Befehls zuzulassen, anstatt eine vollständige interaktive Anmeldung zuzulassen. Diese letzte Option ist jedoch nur verfügbar, wenn auf Ihrem System OpenSSH Version # oder höher ausgeführt wird.
  6. Wählen Sie Nein, um Benutzer daran zu hindern, Zertifikate zur Authentifizierung zu verwenden (und damit den Benutzer stattdessen zu Passwörtern zu zwingen). aus RSA-Authentifizierung zulassen? Feld. Möglicherweise möchten Sie dies tun, um Benutzer zu zwingen, jedes Mal ein Passwort einzugeben, anstatt sich auf einen möglicherweise unverschlüsselten privaten Schlüssel zu verlassen, der die Authentifizierung für sie übernimmt.
  7. Wählen Sie Nein, um zu verhindern, dass der Server streng die Berechtigungen für Benutzerdateien in ihrem ~/ssh-Verzeichnis überprüft in Berechtigungen für Schlüsseldateien prüfen? Feld. Auch wenn das Ausschalten dieser Überprüfungen aus Sicherheitsgründen eine schlechte Idee ist, können sie für Benutzer ärgerlich sein, die die falschen Berechtigungen festgelegt haben und nicht herausfinden können, warum sie nicht mit einem Zertifikat authentifiziert werden können.
  8. Wählen Sie Ja, damit der Server Benutzern nach der Anmeldung den Inhalt der Nachrichtendatei des Tages anzeigt für ihn Zeige /etc/motd beim Login? Feld. Diese Datei enthält normalerweise Informationen zu Ihrem System oder Hinweise für Benutzer.
  9. Wenn Sie möchten, dass eine Nachricht an Clients gesendet wird, bevor sie sich anmelden, wählen Sie die zweite Option im Feld Datei der Voranmeldungsnachricht und geben Sie den vollständigen Pfad zu einer Datei mit dem Text, den Sie senden möchten, in das angrenzende Textfeld ein. Diese enthält häufig eine Warnung vor einer unbefugten Nutzung des Systems. Dieses Feld ist nur verfügbar, wenn Sie OpenSSH 2.3 oder die kommerzielle SSH-Version 2 oder höher ausführen.
  10. Die restlichen Optionen auf der Seite beziehen sich auf die Authentifizierung im rlogin-Stil unter Verwendung von .rhosts- und /etc/hosts.equiv-Dateien. Da sie darauf vertrauen, dass der Client-Host den sich verbindenden Benutzer bereits authentifiziert hat, sind sie aufgrund der Einfachheit, mit der eine Quell-IP-Adresse gefälscht werden kann, ziemlich unsicher. Aus diesem Grund rate ich davon ab, diese Art der Authentifizierung zu aktivieren.
  11. Um Ihre neuen Authentifizierungseinstellungen zu speichern und zu aktivieren, klicken Sie auf Speichern unten im Formular gefolgt von Änderungen übernehmen auf der Hauptseite.

Zugriffskontrolle

SSH-Server – Zugriffssteuerung ‎

Standardmäßig ist es jedem Unix-Benutzer erlaubt, sich remote beim SSH-Server auf Ihrem System anzumelden oder ihn zum Hoch- und Herunterladen von Dateien zu verwenden. Auf einem Mailserversystem oder einem, das Websites hostet, ist dies jedoch möglicherweise nicht angemessen - Sie möchten den meisten Benutzern möglicherweise erlauben, sich stattdessen nur bei Ihren POP3-, FTP- oder Usermin-Servern anzumelden. Obwohl es möglich ist, ihnen eine Shell wie /bin/false zu geben, könnte dies andere Probleme mit Benutzer-Cron- oder At-Jobs verursachen.

Glücklicherweise kann der SSH-Server so konfiguriert werden, dass er beschränkt, wer sich anmelden kann. Folgen Sie einfach diesen Schritten:

  1. Klicken Sie auf der Hauptseite des Moduls auf Zugriffskontrolle Symbol, um eine Formularliste mit zugelassenen und abgelehnten Benutzern aufzurufen.
  2. Um alle außer einigen Benutzern zu blockieren, geben Sie eine durch Leerzeichen getrennte Liste von Benutzernamen in das Feld Nur Benutzer zulassen ein Feld. Das * und ? Platzhalterzeichen können verwendet werden, Sie könnten also foo* eingeben um jeden Benutzer zuzulassen, dessen Name mit foo beginnt . Um den SSH-Zugriff für alle außer den Mitgliedern einiger Gruppen zu verweigern, füllen Sie auf ähnliche Weise das Feld Nur Mitgliedern von Gruppen zulassen aus Feld. Benutzer, die sekundäre Mitglieder einer übereinstimmenden Gruppe sind, werden ebenfalls zugelassen. Wenn beide Felder ausgefüllt sind, werden die in einem der beiden Felder angegebenen Benutzer zugelassen.
  3. Alternativ können Sie mit der Option Benutzer ablehnen auch nur wenige bestimmte Benutzer oder Gruppen blockieren und Mitglieder von Gruppen ablehnen Felder. Auch hier können Platzhalter verwendet werden, und wenn beide Felder ausgefüllt sind, werden Benutzer von beiden abgelehnt.
  4. Wenn Sie kommerzielles SSH verwenden, sind die Felder Nur Client-Hosts zulassen und Client-Hosts verweigern erscheint auch auf dem Formular. Wenn Ersteres ausgefüllt ist, weist es den SSH-Server an, alle Verbindungen außer denen von den eingegebenen IP-Adressen oder Hostnamen abzulehnen, während Letzteres ihn anweist, nur die Hosts und Adressen abzulehnen, die im angrenzenden Feld aufgeführt sind. Beide Felder akzeptieren die Zeichen * und ? Platzhalterzeichen. Wenn auf Ihrem System OpenSSH installiert ist, können Sie stattdessen die TCP-Wrapper-Konfigurationsdateien /etc/hosts.allow und /etc/hosts.deny verwenden, um nicht vertrauenswürdige Clients zu blockieren. Leider gibt es noch kein Standard-Webmin-Modul zum Bearbeiten dieser Dateien.
  5. Klicken Sie auf Speichern Schaltfläche unten auf der Seite, um die Konfigurationsdatei des SSH-Servers zu aktualisieren und zur Hauptseite zurückzukehren.
  6. Klicken Sie auf Änderungen übernehmen Schaltfläche, um die neuen Einschränkungen zu aktivieren.

Netzwerk

SSH-Server – Netzwerk ‎

Der SSH-Server verfügt über mehrere Optionen, mit denen Sie die IP-Adresse, die er abhört, den verwendeten Port und verschiedene protokollbezogene Einstellungen konfigurieren können. Gehen Sie folgendermaßen vor, um sie zu bearbeiten:

  1. Klicken Sie auf Networking Symbol auf der Hauptseite des Moduls, um das im Screenshot unten gezeigte Formular aufzurufen.
  2. Standardmäßig akzeptiert der Server Verbindungen zu allen IP-Adressen Ihres Systems. Um dies zu ändern (vielleicht weil Sie möchten, dass es nur von einem internen LAN aus zugänglich ist), wählen Sie das zweite Optionsfeld in der Listen on address Feld und geben Sie eine IP-Adresse in das Textfeld ein. Wenn Sie OpenSSH Version 3 oder höher ausführen, enthält dieses Feld stattdessen eine Tabelle, in die Sie mehrere Adressen und Ports eingeben können. Darüber befinden sich zwei Optionsfelder - Alle Adressen Wenn diese Option ausgewählt ist, weist sie den Server an, Verbindungen zum Standardport auf jeder IP-Adresse zu akzeptieren, und wird unten eingegeben was anzeigt, dass die Adressen und Ports in der Tabelle verwendet werden sollten. Wie bei Tabellen in Webmin üblich, hat diese unten immer eine einzelne leere Zeile, um eine neue Adresse und einen neuen Port hinzuzufügen. Wenn noch keine definiert wurden, ist dies alles, was es enthält. Die Felder in den beiden Spalten der Tabelle haben folgende Bedeutung:*Adresse *In dieses Feld müssen Sie eine einzelne IP-Adresse oder einen Hostnamen eingeben, auf dem der Server aufgeführt werden soll. Port *Wenn *Standard in dieser Spalte ausgewählt ist, wird der in Schritt 3 eingestellte Standardport verwendet. Wenn alternativ die zweite Option ausgewählt ist, lauscht der SSH-Server auf dem Port, der in das Textfeld in der Spalte eingegeben wurde.
  3. Um den Port zu ändern, den der SSH-Server auf Verbindungen überwacht, bearbeiten Sie den Listen on port Feld. Wenn Sie ihn ändern, müssen Clients beim Verbinden den neuen Port angeben. Wenn Ihr System OpenSSH 3 oder höher verwendet, legt dieses Feld nur den Standardport fest, der in der Listen on address überschrieben werden kann Tisch.
  4. In den Protokolle akzeptieren Aktivieren Sie die Kontrollkästchen für die SSH-Protokollversionen, die Ihr Server akzeptieren soll. Es ist im Allgemeinen ratsam, beides zuzulassen, damit sich ältere oder neuere Clients problemlos verbinden können. Dieses Feld erscheint jedoch nur, wenn Sie OpenSSH ausführen - kommerzielles SSH akzeptiert nur Version 1 oder
  5. abhängig von der installierten SSH-Version.
  6. Wenn Sie kommerzielles SSH ausführen, wird das Idle timeout kann verwendet werden, um Clients zu trennen, die für eine bestimmte Zeit keine Daten gesendet oder empfangen haben. Wählen Sie das zweite Optionsfeld aus, geben Sie einen Zeitraum in das Textfeld ein und wählen Sie die Einheiten für diesen Zeitraum aus dem Menü aus. Wenn Standard ausgewählt ist, werden Clients niemals getrennt, egal wie lange sie inaktiv sind. Auf einem ausgelasteten System kann diese Funktion nützlich sein, um Leute daran zu hindern, SSH-Sitzungen im Leerlauf tagelang offen zu lassen, von denen jede einen zugeordneten speicherverbrauchenden sshd- und Shell-Prozess hat.
  7. Damit der SSH-Server Clients trennt, die heruntergefahren wurden oder abstürzen, ohne sich ordnungsgemäß abzumelden, wählen Sie Ja im Feld Verbindung trennen, wenn Client abgestürzt ist? Feld. Der Server sendet regelmäßig Nachrichten an den Client, um sicherzustellen, dass er wirklich noch läuft, und schließt die Verbindung, wenn keine Antwort erfolgt. Das einzige Mal, wenn Sie Nein wählen möchten wenn dieser zusätzliche Datenverkehr Probleme in Ihrem Netzwerk verursacht, z. B. die automatische Aktivierung einer ISDN- oder DFÜ-Verbindung, wenn dies nicht wirklich erforderlich ist.
  8. Um die Zeitspanne zu konfigurieren, die der Server auf die Authentifizierung eines Clients wartet, nachdem er eine Verbindung hergestellt hat, ändern Sie die Wartezeit für Anmeldung Feld. Wenn für immer ausgewählt ist, wird der Server niemals einen Client trennen, egal wie lange es dauert, was es einem Angreifer ermöglichen könnte, Ihr System zu überlasten, indem er viele SSH-Verbindungen herstellt, die nichts bewirken.
  9. Eines der interessanteren Merkmale des SSH-Protokolls ist seine Unterstützung für die Portweiterleitung, die es Clients ermöglicht, auf Ports im Netzwerk des Servers zuzugreifen, auf die sie normalerweise nicht zugreifen könnten. Auch wenn dies für Benutzer sehr nützlich ist, könnten Sie es als Sicherheitsrisiko betrachten, da es jedem, der eine SSH-Verbindung herstellen kann, ermöglicht, IP-Adressenbeschränkungen auf internen Servern effektiv zu umgehen. Um diese Funktion zu deaktivieren, ändern Sie die Option TCP-Weiterleitung zulassen? Feld auf Nein . Dieses Feld wird nur angezeigt, wenn Sie die kommerzielle SSH-Version 2 oder höher oder OpenSSH ausführen.
  10. Ein verwandtes Feld ist Verbindung zu weitergeleiteten Ports zulassen? die bestimmt, ob andere Hosts als der Server selbst sich mit Ports verbinden dürfen, die an den Client zurückgeleitet werden. Sie können dies auf Nein setzen Client-Benutzer vor Angreifern zu schützen, die möglicherweise unsichere weitergeleitete Verbindungen zurück in das Netzwerk des Clients missbrauchen. Es wird jedoch nur angezeigt, wenn auf Ihrem System OpenSSH Version 2 oder höher ausgeführt wird.
  11. Damit der Server die Hostnamen für Clientadressen und dann die Adresse für diese Hostnamen sucht und diejenigen blockiert, die nicht übereinstimmen, wählen Sie Ja in das Feld *Client-IP-Adressen rückgängig machen?*. Dies ist nützlich, wenn Sie über hostnamenbasierte Zugriffskontrollen verfügen und Angreifer erkennen möchten, die gefälschte DNS-Einträge verwenden. Dieses Feld ist jedoch nur sichtbar, wenn Sie OpenSSH Version 2.3 oder höher ausführen.
  12. Um Ihre Änderungen zu speichern und zu aktivieren, klicken Sie auf Speichern unten auf der Seite und dann Änderungen anwenden zurück auf der Hauptseite des Moduls. Sie werden für alle neuen Client-Verbindungen wirksam.

Client-Host-Optionen

Obwohl dieses Modul in erster Linie zum Konfigurieren eines SSH-Servers dient, können Sie damit auch Optionen festlegen, die für alle Client-Verbindungen gelten, die von Ihrem System aus mit den Befehlen ssh und scp hergestellt werden. Optionen können für Verbindungen zu allen Hosts oder nur zu einem bestimmten Host festgelegt werden. Sie können den Port, zu dem eine Verbindung hergestellt werden soll, das zu verwendende Protokoll sowie lokale und entfernte Ports zum Weiterleiten festlegen.

Die in diesem Modul vorgenommenen Einstellungen gelten für alle Benutzer auf Ihrem System, können jedoch von einzelnen Benutzern außer Kraft gesetzt werden, die ihre ~/.ssh/config-Dateien bearbeiten. Dies kann manuell oder mit Usermin erfolgen, das über ein SSH-Client-Modul mit einer identischen Schnittstelle wie der hier dokumentierten zum Bearbeiten globaler Client-Einstellungen verfügt. Viele der Einstellungen sind nicht sinnvoll für alle Benutzer vorzunehmen, obwohl dies mit Webmin möglich ist. Aus diesem Grund decken die Anweisungen in diesem Abschnitt nur Felder ab, die auf globaler Ebene nützlich sind.

‎Client-Host-Optionen

Gehen Sie folgendermaßen vor, um Einstellungen für Verbindungen zu einem bestimmten Host zu definieren:

  1. Klicken Sie auf der Hauptseite des Moduls auf die Client-Host-Optionen Symbol. Eine Seite mit einem Symbol für jeden Host, für den Optionen festgelegt wurden, wird angezeigt. Sofern Sie diese Seite bisher nur mit dem speziellen Alle Hosts verwendet haben Es erscheint ein Symbol, auf das geklickt werden kann, um Optionen für Verbindungen zu beliebigen Hosts zu bearbeiten.
  2. Klicken Sie auf Optionen für Client-Host hinzufügen Link unten auf der Seite, um ein Formular zum Angeben eines Hosts und der dafür geltenden Optionen aufzurufen. Alle Felder in diesem Formular haben einen Standardwert Option, die bei Auswahl angibt, dass stattdessen die Einstellung für alle Hosts verwendet werden soll. Auf diese Weise können Sie Optionen global definieren und sie dann auf Hostbasis überschreiben.
  3. In den Optionen für Host geben Sie den Namen der Host-Zeile (wie im ssh-Befehl verwendet) ein, für die die Optionen gelten. Platzhalter können verwendet werden, Sie könnten also *.webmin.com eingeben jedem Host in webmin.com entsprechen Domäne zum Beispiel. Denken Sie daran, dass der Name mit dem übereinstimmen muss, der von Benutzern im ssh- oder scp-Befehl verwendet wird, also wenn Sie foo eingeben und ein Benutzer ssh foo.example.com ausführt, gelten die Optionen nicht, obwohl beide Namen in dieselbe IP-Adresse aufgelöst würden. Aus diesem Grund können Sie den Hostnamen als foo* eingeben um beide Möglichkeiten zu erwischen.
  4. Damit sich SSH-Clients stattdessen mit einem anderen Hostnamen verbinden, geben Sie den Real hostname to connect to ein Feld. Dies könnte in Kombination mit dem Anschluss für die Verbindung nützlich sein Feld, um Benutzerverbindungen zu einem Host heimlich zu einem Port an einer anderen Adresse umzuleiten, der eigentlich eine Art Tunnel zum eigentlichen Ziel ist.
  5. Um Clients zu zwingen, standardmäßig einen anderen Port zu verwenden, füllen Sie den Port zum Verbinden mit aus Feld. Dies ist nützlich, wenn der SSH-Server auf einem Host auf einem anderen als dem üblichen Port 22 läuft und Sie vermeiden möchten, den Port explizit in jedem ssh- und scp-Befehl angeben zu müssen.
  6. Normalerweise behandelt der SSH-Client das Zeichen ~ (Tilde) als Escapezeichen, das anzeigt, dass das nächste vom Benutzer eingegebene Zeichen eigentlich ein Befehl an das SSH-Programm selbst ist. Zum Beispiel ~. schließt die Verbindung und ~^Z hält das Programm an. Das Escape-Zeichen Feld kann verwendet werden, um etwas anderes zu verwenden, indem Sie das dritte Optionsfeld auswählen und ein einzelnes Zeichen in das angrenzende Textfeld eingeben. Sie können die Escape-Unterstützung auch ganz deaktivieren, indem Sie Keine auswählen . Diese letztere Option ist nützlich, wenn Sie den ssh-Befehl verwenden, um Binärdaten zu übertragen, die eine Tilde enthalten können.
  7. Standardmäßig komprimieren und dekomprimieren der SSH-Client und -Server die zwischen ihnen gesendeten Daten, was große Übertragungen von Text oder anderen komprimierbaren Daten beschleunigen kann. Manchmal kann dies jedoch die Dinge verlangsamen oder eine nutzlose Verschwendung von CPU-Zeit sein, beispielsweise wenn Sie scp verwenden, um viele GIF-Dateien zu kopieren, oder sich immer über ein schnelles Netzwerk mit dem Host verbinden. Um die Komprimierung zu deaktivieren, ändern Sie die Option SSH-Datenverkehr komprimieren? Feld auf Nein . Wenn die Komprimierung aktiviert ist, die Komprimierungsstufe Menü steuert den Kompromiss zwischen CPU-Auslastung und verwendeter Bandbreite. Wenn *1* ausgewählt ist, wird nur sehr wenig komprimiert, während bei Auswahl von *9* viel mehr CPU-Zeit für die Reduzierung der tatsächlich übertragenen Datenmenge aufgewendet wird. Diese Felder und die in den nächsten beiden Schritten sind nicht verfügbar, wenn auf Ihrem System die kommerzielle SSH-Version 3 oder höher ausgeführt wird.
  8. Standardmäßig verwenden SSH-Clients bei der Verbindung den privilegierten Quellport 22, der dem Server anzeigt, dass es sich um ein vertrauenswürdiges Programm handelt und man sich daher darauf verlassen kann, dass es korrekte Informationen über den Benutzer liefert, der es ausführt. Dies ist notwendig, damit die Authentifizierung im rlogin-Stil funktioniert, aber leider haben viele Netzwerke ihre Firewalls so konfiguriert, dass sie Verbindungen mit privilegierten Quellports blockieren, wodurch SSH vollständig blockiert wird. Damit die Clients stattdessen einen normalen Port verwenden, wählen Sie Nein für Privilegierte Quellports verwenden? Feld. Sofern Sie keine hostbasierte Authentifizierung verwenden, wird dies keinen Schaden anrichten.
  9. Wählen Sie Ausgewählt, um die SSH-Protokollversionen festzulegen, die Clients versuchen, wenn sie sich mit diesem Server verbinden im Feld *SSH-Protokolle ausprobieren* und kreuzen Sie diejenigen an, die Sie ausprobieren möchten. Standardmäßig werden beide ausprobiert.
  10. Klicken Sie auf Erstellen unten auf der Seite, um die neuen Einstellungen pro Host zu speichern. Sie werden von nun an von allen neuen Client-Verbindungen verwendet, die von Ihrem System aus hergestellt werden.
‎Host-Optionen bearbeiten

Nachdem ein Satz von Hostoptionen erstellt wurde, wird auf der Seite Client-Hostoptionen ein Symbol für den Host angezeigt. Sie können auf dieses Symbol klicken, um das Bearbeitungsformular aufzurufen, Änderungen an denselben Feldern vorzunehmen und auf Speichern zu klicken Taste. Oder um den Host zu entfernen und Verbindungen zu ihm auf die Standardoptionen zurückzusetzen, klicken Sie auf Löschen auf demselben Formular. Es ist auch möglich, die Standardeinstellungen zu ändern, die für alle Verbindungen gelten, indem Sie auf das spezielle Alle Hosts klicken Symbol und nehmen Sie Änderungen im angezeigten Formular vor. Natürlich sind einige Felder in diesem Zusammenhang nicht wirklich sinnvoll, wie z. B. *Echter Hostname zum Verbinden mit* und Port zum Verbinden mit , und sollte daher nicht verwendet werden.

Einrichtung des Benutzer-SSH-Schlüssels

‎Einrichtung des Benutzer-SSH-Schlüssels

Bevor sich ein Unix-Benutzer mit Zertifikatauthentifizierung bei einem SSH-Server anmelden kann, muss er mit dem Befehl ssh-keygen einen privaten Schlüssel generieren. Dieses Modul kann so konfiguriert werden, dass es mit dem Modul „Benutzer und Gruppen“ zusammenarbeitet, um diesen Befehl für alle neu erstellten Benutzer auszuführen. Wenn Ihr Netzwerk NFS-gemountete Home-Verzeichnisse verwendet, ermöglicht dies neuen Benutzern, sich bei anderen Hosts anzumelden, ohne ein Passwort angeben zu müssen, ohne dass eine weitere Einrichtung erforderlich ist. Gehen Sie folgendermaßen vor, um die Einrichtung von SSH für neue Benutzer zu konfigurieren:

  1. Klicken Sie auf der Hauptseite des Moduls auf Einrichtung des Benutzer-SSH-Schlüssels Symbol.
  2. Überprüfen Sie den SSH-Schlüssel für neue Unix-Benutzer einrichten Kontrollkästchen, damit ssh-keygen für neue Konten ausgeführt wird.
  3. Damit der öffentliche Schlüssel des neuen Benutzers zur Liste der Schlüssel hinzugefügt wird, die berechtigt sind, sein Konto zu verwenden, markieren Sie das Kästchen *Neue Identify.pub nach Authorized_Keys kopieren*. Wenn es nicht ausgewählt ist, müssen sie dies manuell tun, bevor die Authentifizierung mit ihrem neuen Zertifikat akzeptiert wird.
  4. Um eine Passphrase für die privaten Schlüssel neuer Benutzer festzulegen, aktivieren Sie die Option Passwort als Schlüssel-Passphrase verwenden Kasten. Wenn es deaktiviert bleibt, wird keine Passphrase festgelegt (was benutzerfreundlicher, aber weniger sicher ist).
  5. Klicken Sie auf Speichern klicken, damit Webmin Ihre neuen Einstellungen verwendet.

Verschiedene Optionen

SSH-Server – Verschiedene Optionen ‎

Diese Seite enthält Optionen, die in keine der anderen Kategorien passen. Einige der weniger offensichtlichen, aber nützlichen Optionen sind :

X11-Verbindungsweiterleitung zulassen?
Wenn auf Ja gesetzt, können Benutzer, die sich von einem Unix-Rechner aus über SSH anmelden, X-Anwendungen auf dem Server ausführen und die X-Verbindung wird durch die SSH-Verbindung zu ihrem lokalen Bildschirm zurückgetunnelt.
Systemprotokollfunktion
Die Syslog-Funktion, die verwendet wird, um Fehler- und Informationsmeldungen vom SSH-Server zu protokollieren. Dies kann in Verbindung mit dem Systemprotokollmodul verwendet werden, um zu steuern, in welche Datei SSH-Nachrichten geschrieben werden.
Intervall für die Neugenerierung des Serverschlüssels
Wie oft der SSH-Server den Schlüssel neu generiert hat, der zum Verschlüsseln von Verbindungen verwendet wird. Wenn Sie bezüglich der Sicherheit paranoid sind, setzen Sie diese auf eine niedrigere Zahl.

Host-SSH-Schlüssel

SSH-Server – Host-SSH-Schlüssel ‎

siehe auch

  • Einrichten einer Zertifizierungsstelle
  • SSH-Konfiguration

Webmin
  1. SSH-Befehle zum Verwalten eines dedizierten Servers

  2. Best Practices für die OpenSSH-Sicherheit

  3. Jabber IM-Server

  4. Wie kann man mit einem anderen Server per SSH auf einen Server zugreifen?

  5. Warum ist meine SSH-Anmeldung langsam?

So aktivieren Sie SSH auf openSUSE

So aktivieren Sie den SSH-Server unter Ubuntu 22.04

SSH-Tunneling und Proxying

LDAP-Server

SSH-Server

So führen Sie SSH zum Server über Linux