So verbinden Sie Remote Linux über SSH -Proxyjump und Proxycommand

So verbinden Sie Remote Linux über SSH -Proxyjump und Proxycommand

Brief: In dieser Anleitung zeigen wir, wie Sie SSH -Proxyjump- und SSH -Proxycommand -Befehle verwenden, wenn Sie eine Verbindung zu einem Sprungserver herstellen.

In unserer vorherigen Anleitung zum Einrichten eines SSH -Jump -Servers haben wir das Konzept von a behandelt Bastion Host. A Bastion Host oder ein Sprungserver ist ein Vermittlungsgerät, mit dem ein SSH -Client zuerst eine Verbindung herstellt. Ein SSH -Sprung Der Server fungiert als Tor zu Ihren IT -Ressourcen und reduziert so die Angriffsfläche.

Der SSH Proxyjump Und Proxycommand Befehle bestimmen, wie ein Client eine Verbindung zum Remote -Server über die herstellt Sprungserver, Sprung Host, oder Bastion Server.

Dieser Leitfaden beleuchtet das Rampenlicht auf dem SSH Proxyjump Und SSH -Proxy -Befehl unter Linux.

Inhaltsverzeichnis

1
  • Verbinden Sie Remote Linux mit dem SSH -Proxyjump -Befehl
    • Konfigurieren von Proxy -Hosts im ~/.SSH/Konfigurationsdatei
  • Verbinden Sie Remote Linux mit dem SSH -Proxycommand -Befehl
    • Proxycommand im ~/ konfigurieren.SSH/Konfigurationsdatei
      • Abschluss

Verbinden Sie Remote Linux mit dem SSH -Proxyjump -Befehl

Der Proxyjump Der Befehl ist mit dem bezeichnet -J Flagge. Es wurde in OpenSSH Server Version 7 eingeführt.3 und hilft Ihnen, eine Verbindung zu einem Remote -Ziel herzustellen, indem Sie durch eine Bastion oder einen Sprungserver überspringen.

Die folgende Syntax zeigt, wie diese Option verwendet wird:

$ ssh -j   

Bei mehreren Bastion oder Sprungservern nimmt die Syntax das folgende Format an.

$ ssh -j    

In beiden Fällen werden Sie in jedem Schritt als Stammbenutzer als Root -Benutzer angemeldet. Dies ist aus Sicherheitsgründen nicht ideal, daher möchten Sie möglicherweise in jeder Instanz verschiedene Benutzer erstellen.

Sie können verschiedene Benutzer und SSH -Ports wie gezeigt explizit angeben.

$ ssh -j <[email protected]:port> <[email protected]:port> 

Um das zu demonstrieren Proxyjump Flag in Aktion, wir haben ein einfaches Setup wie gezeigt.

Jump Server IP: 173.82.232.55 Benutzer: James Remote Target IP: 173.82.227.89 Benutzer: Tecmint 

Um die Verbindung zum Remote -Ziel mit dem herzustellen Springen Server sieht der Befehl wie folgt aus.

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

Der Befehl fordert Sie für das Benutzerkennwort des Sprungservers auf und befolgt danach durch das Passwort des Zielsystems, auf dem Sie Zugriff auf das Zielsystem erhalten.

Verbinden Sie Linux mit Jump Server

Konfigurieren von Proxy -Hosts im ~/.SSH/Konfigurationsdatei

Wenn Sie regelmäßig eine bestimmte Bastion verwenden, um eine Verbindung zu einem bestimmten Remote -Ziel herzustellen, können Sie Folgendes anhängen Proxyjump Konfiguration in der ~/.ssh/config Datei, um die Verbindung nahtlos zu machen. In diesem Fall werden Sie nur einmal authentifiziert, und dies geschieht nur auf dem Remote -Ziel.

Host-Host-Jump-Benutzer James Hostname 173.82.232.55 Host Host_destination -Benutzer Tecmint Hostname 173.82.227.89 Port 22 

Mit der obigen Konfiguration können Sie die Verbindung zum Ziel wie gezeigt herstellen.

$ ssh -j host_destination 
SSH zu Remote Linux über Proxyjump

Verbinden Sie Remote Linux mit dem SSH -Proxycommand -Befehl

Vor SSH -Proxysprung, Proxycommand war die einzige Möglichkeit, Hosts zu springen, um das entfernte Ziel zu erreichen. Es wird durch Weiterleitung des Stdin (Standard -In) und STDOut (Standard Out) über den Jump -Server oder die Bastion aus dem Remote -Ziel weitergeleitet.

Der Proxycommand Nimmt die folgende Syntax.

$ ssh -o proxycommand = "SSH -W %H: %p"  

Hier das -W zum %H:%p Argumente weiterleiten Sie den Stdin und den Remote -Host weiter (%H) und der Port des Remote Hosts Port (%P).

Um den Befehl in die Aktion zu bringen, würde unser Befehl so aussehen

$ ssh -o proxycommand = "SSH -W %H: %p 173.82.232.55 "173.82.227.89 
Verbinden Sie Linux mit Proxycommand

Proxycommand im ~/ konfigurieren.SSH/Konfigurationsdatei

Natürlich ist das Tippen des gesamten Befehls langweilig und zeitaufwändig. Um zu vermeiden, dass ein solch langwieriger Befehl eingegeben wird, fügen Sie Ihren folgenden Codezeilen hinzu ~/.ssh/config Datei.

Host-Host-Destination Hostname 173.82.227.89 Proxycommand SSH -Q -W %H: %P Host -Jump 

Speichern und schließen.

Jetzt müssen Sie nur noch den folgenden Befehl ausführen, um eine Verbindung zum Remote -Server herzustellen.

$ ssh Host-Destination 

[Möglicherweise gefallen Sie auch: Wie Sie den OpenSSH -Server sichern und härten]

Abschluss

In diesem Leitfaden haben wir gezeigt, wie Proxyjump Und Proxycommand Befehle funktionieren. Allgemein, Proxyjump kommt als bessere Alternative zu Proxycommand und bietet eine einfachere und nahtlose Möglichkeit, über einen Jump -Host eine Verbindung zu einem Remote -Ziel herzustellen.