So greifen Sie mit einem SSH -Jump -Host auf einen Remote -Server zu

So greifen Sie mit einem SSH -Jump -Host auf einen Remote -Server zu

A Sprung Host (auch bekannt als a Sprungserver) ist ein Vermittler Host oder ein SSH -Gateway zu einem Remote -Netzwerk, durch das eine Verbindung zu einem anderen Host in einer anderen Sicherheitszone hergestellt werden kann, beispielsweise eine entmilitarisierte Zone (DMZ). Es überbrückt zwei unterschiedliche Sicherheitszonen und bietet einen kontrollierten Zugriff zwischen ihnen.

A Sprung Host sollte sehr gesichert und überwacht werden, insbesondere wenn es ein privates Netzwerk und a DMZ mit Servern, die Benutzer im Internet für Benutzer anbieten.

Ein klassisches Szenario besteht darin. Um einen Server einfach in einem DMZ zu verwalten, können Sie über a darauf zugreifen Sprung Host.

Kurz gesagt SSH -Sprung Server ist ein Linux -Server, der als Gateway für andere Linux -Server in einem privaten Netzwerk über dem SSH -Protokoll verwendet wird.

In diesem Artikel werden wir demonstrieren, wie man über a auf einen Remote -Linux -Server zugreift Sprung Host, Außerdem konfigurieren wir die erforderlichen Einstellungen in Ihren SSH-Client-Konfigurationen pro Benutzer.

Inhaltsverzeichnis

1
    • SSH Jump Server Setup
  • Gründe für die Konfiguration eines SSH -Jump -Servers
  • So erstellen Sie einen einfachen SSH -Jump -Server
  • Dynamische Jumphost -Liste
  • Mehrere Jumphosts -Liste
  • Statische Jumphost -Liste
  • SSH Jump Server sicherer machen

SSH Jump Server Setup

Betrachten Sie das folgende Szenario.

SSH Jump Host

Für mehr Klarheit finden Sie ein einfaches Setup, das die Rolle eines SSH -Jump -Servers demonstriert.

SSH Jump Server Setup

Gründe für die Konfiguration eines SSH -Jump -Servers

A Springen Der Server bietet ein Tor zu Ihrer Infrastruktur und reduziert die potenzielle Angriffsfläche auf Ihre Ressourcen. Es bietet auch eine transparente Verwaltung von Geräten sowie einen einzigen Eintrittspunkt für Ihre Ressourcen.

Beachten Sie, dass bei der Einbeziehung eines Jump -Servers in Ihre Infrastruktur sicherstellen, dass der Server gehärtet ist, sonst wäre er so gut wie keine Verwendung. Wir werden später in diesem Tutorial darauf zurückkommen.

So erstellen Sie einen einfachen SSH -Jump -Server

Konzentrieren wir uns nun darauf, wie Sie eine einfache Erstellung erstellen können SSH -Sprung Server. Hier ist unser einfaches Setup.

  • Ursprung IP: 105.68.76.85.
  • Jump Server IP (wir nennen diesen Host-Jump): 173.82.232.55.
  • Ziel IP (wir nennen diesen Host_destination): 173.82.227.89.

Im obigen Szenario möchten Sie eine Verbindung herstellen Host 2 (173.82.227.89), Aber du musst durchgehen Host 1 (173.82.232.55), Wegen Firewalling-, Routing- und Zugriffsberechtigungen. Es gibt eine Reihe von gültigen Gründen, warum Sprunghosts benötigt werden.

Dynamische Jumphost -Liste

Die einfachste Möglichkeit, über a eine Verbindung zu einem Zielserver herzustellen Sprung Host verwendet die -A Und -J Flaggen aus der Befehlszeile. Dadurch soll SSH eine Verbindung zum Jump -Host herstellen und dann eine TCP -Weiterleitung an den Zielserver festlegen (stellen Sie sicher, dass Sie eine kennwortlose SSH -Anmeldung zwischen Maschinen anmelden).

$ ssh -a -j [E -Mail geschützt] [E -Mail geschützt] Server 

Zum Beispiel haben wir in unserem Setup den Benutzer angerufen James Konfiguriert auf der Sprungserver Und Tecmint auf dem Ziel- oder Zielsystem konfiguriert.

Der Befehl schaut wie folgt aus der Ursprungs -IP aus.

$ ssh -a -j [E -Mail geschützt] [E -Mail geschützt] 

Der Befehl fordert Sie für das Benutzerkennwort des Sprungservers auf, gefolgt vom Kennwort des Zielsystems, auf dem Sie Zugriff auf das Zielsystem erhalten.

Schließen Sie den Server mit dem SSH Jump Host an

Wenn Benutzernamen oder Häfen Geben Sie sie auf Maschinen unterscheiden, wie gezeigt am Terminal.

$ ssh -j [E -Mail geschützt]: Port [E -Mail geschützt]: Port 

Mehrere Jumphosts -Liste

Die gleiche Syntax kann verwendet werden, um Sprünge über mehrere Server zu machen.

$ SSH -J [E -Mail geschützt]: Port, [E -Mail geschützt]: Port [E -Mail geschützt]: Port 

Statische Jumphost -Liste

Statische Jumphost -Liste bedeutet, dass Sie das kennen Jumphost oder Jumphosts dass Sie eine Maschine anschließen müssen. Daher müssen Sie das folgende statische Jumphost 'Routing' in hinzufügen ~/.ssh/config Datei und Geben Sie die Host -Aliase wie gezeigt an.

### Erster Jumphost. Direkt erreichbarer Host VPS1 Hostname VPS1.Beispiel.org ### Host, um zu über Jumphost1 zu springen.Beispiel.org Host Contabo Hostname Contabo.Beispiel.Org Proxyjump VPS1 

Versuchen Sie nun, eine Verbindung zu einem Zielserver über a herzustellen Sprung Host wie gezeigt.

$ ssh -j vps1 contabo 
Melden Sie sich als Target Host über Jumphost an

Die zweite Methode besteht darin, die zu verwenden Proxycommand Option zum Hinzufügen des Jumphost Konfiguration in Ihrem ~.ssh/config oder $ Home/.ssh/config Datei wie gezeigt.

In diesem Beispiel ist der Zielhost Contabo, und das Jumphost Ist VPS1.

Host VPS1 Hostname VPS1.Beispiel.org IdentityFile ~/.SSH/VPS1.PEM-Benutzer EC2-User Host Contabo Hostname Contabo.Beispiel.org IdentityFile ~/.SSH/Contabovps Port 22 Benutzeradministrator Proxy Command SSH -Q -W %H: %P VPS1 

Speichern Sie die Änderungen und beenden Sie die Datei. Um die Änderungen anzuwenden, starten Sie den SSH -Daemon neu.

$ sudo systemctl neu starten ssh neu starten 

Erkunden wir die in der Konfigurationsdatei verwendeten Optionen:

  • -Q - Dies steht für Quiet Mode. Es unterdrückt Warnungen und diagnostische Nachrichten.
  • -W - Fordert die Standardeingabe und die Ausgabe des Clients an den Host am Port über den sicheren Kanal weiter.
  • %H - Gibt den Host an, mit dem sich eine Verbindung herstellen soll.
  • %P - Spezifische Angabe des Port.

Zu 'springen'Aus dem Zielsystem von Ihrem Ursprungs -IP über den Jump -Server führen Sie einfach den folgenden Befehl aus:

$ ssh contabo 

Der obige Befehl öffnet zunächst eine SSH -Verbindung zu VPS1 im Hintergrund von der betroffen Proxycommand, und danach starten Sie die SSH -Sitzung mit dem Zielserver Contabo.

[Möglicherweise mögen Sie auch: So verbinden Sie Remote Linux über SSH Proxyjump und Proxycommand]

SSH Jump Server sicherer machen

Eine der Möglichkeiten, dieses Setup sicherer zu gestalten Sprungserver, und dann schließlich zum Zielsystem und dann zum Deaktivieren der Kennwortauthentifizierung. Sehen Sie sich unsere Anleitung zum Aktivieren der SSH -Authentifizierung an der SSH -Kennwortless an.

Schauen Sie sich außerdem die Tipps zur Härtung von SSH Server -Härten an.

Stellen Sie außerdem sicher, dass innerhalb der keine sensiblen Daten untergebracht sind Springen Der Server, da dies zu einem Auslaufen von Zugriffsanmeldeinformationen wie Benutzernamen und Passwörtern führen kann, die zu einem systemweiten Verstoß führen.

Weitere Informationen finden Sie auf der Seite SSH Man oder finden Sie unter: OpenSSH/CookBxook/Proxies und Sprunghosts.

Das ist alles fürs Erste! In diesem Artikel haben wir über einen Sprunghost auf einen Remote -Server zugreifen. Verwenden Sie das Feedback -Formular unten, um Fragen zu stellen oder Ihre Gedanken mit uns zu teilen.