GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man über Host (Jumpserver) ssh, um einen anderen Server zu erreichen

In diesem Leitfaden erfahren wir, wie Sie den Prozess vereinfachen können, indem Sie die Optionen verwenden, die uns der ssh-Client bietet, einschließlich der Verwendung des SSH ProxyCommand Befehl.

Verwandte Inhalte:

  • SSH – Generieren und Arbeiten mit SSH-Schlüsseln

Das SSH-Szenario

So ist die ssh-Einrichtung.

+--------------+       +------------+      +-----------+
| Local machine|   ->  | JumpServer | ->   | Dbserver  |
+--------------+       +------------+      +-----------+

Auf den DB-Server kann nur zugegriffen werden, indem man sich beim Zwischenserver – Jump Server – anmeldet. Melden Sie sich zuerst beim Jumpserver an

ssh [email protected]

Dann können wir uns vom Jump-Server beim DB-Server anmelden

ssh [email protected]

Verwendung der Option -J für neueste SSH-Clients

Bei den neuesten ssh-Clients können Sie mit der Option -J angeben, welcher Host als Jump-Host verwendet werden soll. Dies ist das Format

ssh -J [email protected] [email protected]

So stellen Sie über einen öffentlichen Jump-Server eine Verbindung zum Remote her

ssh -J [email protected] [email protected]

Wenn Sie einen SSH-Schlüssel angeben müssen, verwenden Sie dieses Format:

ssh -J [email protected] [email protected]  -i ~/.ssh/id_server_key

ProxyCommand verwenden, wenn die Option -J nicht verfügbar ist

In älteren Versionen von openssh ist das -J ist nicht verfügbar. Verwenden Sie also die folgende Syntax:

ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]

So verwende ich es auf meinem lokalen Rechner

ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected] -i ~/.ssh/id_rsa

Für die ältesten Clients, die die Option -W nicht unterstützen

In diesem Fall das ssh -tt Befehl. Anstatt zwei ssh-Befehle einzugeben, kann ich den folgenden All-in-One-Befehl eingeben. Dies ist nützlich, um sich über eine Firewall mit dem Namen jumpserver als Sprunghost mit einem entfernten Datenbankserver zu verbinden:

ssh -tt [email protected] ssh -tt [email protected]

Verwendung:

ssh -tt [email protected] ssh -tt [email protected] -i ~/.ssh/id_rsa

Wo:

  • Das -t Option, die an den ssh-Befehl übergeben wird, um die Pseudo-TTY-Zuweisung zu erzwingen. Dies kann verwendet werden, um beliebige bildschirmbasierte Programme auf einem entfernten Rechner auszuführen. Mehrere -tt Optionen erzwingen eine tty-Zuweisung, auch wenn ssh kein lokales tty hat.

Speichern der Konfiguration in der Datei ~/.ssh/config

Sie können die Konfigurationsoptionen in ~/.ssh/config definieren Datei. So würde die Konfiguration aussehen, wir geben den ProxyCommand:

an
Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh [email protected] -W %h:%p
    IdentityFile ~/.ssh/id_rsa

Sie können auch ProxyJump

verwenden
Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyJump [email protected]
    IdentityFile ~/.ssh/id_rsa

Sie können auch mehrere Sprunghosts rekursiv verketten:

Host jumpsrver
    Hostname 13.36.234.247
    User rocky


Host dbserver2
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p jumpsrver
    IdentityFile ~/.ssh/id_rsa

Host dbserver3
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p dbserver2
    IdentityFile ~/.ssh/id_rsa

Dadurch wird über die anderen Hosts geproxyt

ssh dbserver3

Linux
  1. So erstellen Sie einen virtuellen Nginx-Host (Serverblock)

  2. Ssh – Wie verbinde ich mich mit einem PC über einen anderen PC mit SSH?

  3. Ssh – Tunnelverkehr durch eine andere Maschine über SSH?

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

  5. Wie leitet man das Internet durch einen SSH-Tunnel?

So hosten Sie eine Website auf einem Apache-Webserver

So verwenden Sie SSH, um eine Verbindung zu einem Remote-Server herzustellen

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

So richten Sie SSH unter CentOS und RHEL ein

So führen Sie SSH zum Server über Linux

So sichern Sie SSH mit Fail2Ban