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

Wie verwende ich denselben SSH-Alias ​​mit mehreren Hostadressen/Ports/etc.?

Hier ist das Problem:Ich versuche, mich per SSH in ein System einzuloggen, auf das von mindestens 3 verschiedenen Netzwerken aus zu unterschiedlichen Zeiten zugegriffen werden kann – manchmal direkt, manchmal über einen Proxy.

Eine direkte Verbindung ist viel schneller und zuverlässiger als eine Verbindung über einen Zwischenhost, was wiederum viel schneller und zuverlässiger ist als eine Verbindung über das allgemeine Internet zuerst gelingt das.

Sie sind offensichtlich alle die gleiche Maschine, also möchte ich nicht ständig manuell zwischen 3 verschiedenen Aliasen wählen müssen, je nachdem, von wo aus ich mich verbinde.

Ich kann jedoch keinen Mechanismus finden, um dies zu lösen. Ist das überhaupt möglich oder nicht?

Wenn nicht, was tun Menschen in einer solchen Situation im Allgemeinen?

Akzeptierte Antwort:

Verwenden Sie keine Aliase für ssh Verbindungen! Verwenden Sie eine geeignete ssh_config in ~/.ssh/config . Es hat einige wirklich leistungsstarke Funktionen.

Nehmen wir an, Sie können erkennen, in welchem ​​Netzwerk Sie sich befinden. Zum Beispiel mit Ihrer IP, die zum Beispiel mit hostname -I gezogen werden kann . Schreiben wir also eine Konfiguration:

# in network1 I am getting ip from "10.168.*.*" and I need to connect through proxy
Match Host myalias Exec hostname -I | grep 10\.168\.
  Hostname real-host-IP
  ProxyCommand ssh -W %h:%p proxy-server

# in network2 I am getting IP from "192.168.*.*" and I do not need a proxy
Match Host myalias Exec hostname -I | grep 192\.168\.
  Hostname real-host-IP

# in network3 I am getting something else

Ich glaube, Sie haben es verstanden …


Linux
  1. So verwenden Sie die SSH- und SFTP-Protokolle in Ihrem Heimnetzwerk

  2. So verwenden Sie SSH-Tunneling für den Zugriff auf eingeschränkte Server

  3. So erstellen Sie einen Alias ​​und verwenden den Alias-Befehl in Linux

  4. Ssh – Mehrere ähnliche Einträge in der Ssh-Konfiguration?

  5. So verwenden Sie den Befehl ssh-keygen, um passwortloses ssh zu konfigurieren

Linux-Alias-Befehl:Verwendung mit Beispielen

Verwendung des RPM-Befehls (mit Beispielen)

So verwenden Sie einen SSH-Schlüssel mit Nicht-Root-Benutzern

So installieren Sie mehrere Discourse-Container auf demselben Server

So hosten Sie mehrere WordPress-Sites auf demselben Server mit Docker

Android - Wie kann ich Shell-Befehle verwenden und mit dem darunter liegenden Linux-System interagieren?