
Ich habe einen Server, der mehrere Domänen hostet:
- Server-FQDN:
server.provider.com
- FQDN von Host 1:
example.com
- FQDN von Host 2:
example.it
- FQDN von Host 3:
example.es
Ich verwende zum Verbinden gerne den FQDN und möchte keine Spitznamen verwenden.
Wenn ich eine direkte Verbindung herstelle, server.provider.com
wird ein Tunnel von meinem Port 3315 zum Port 3306 des Servers hergestellt.
Ich möchte, dass dieser Tunnel jedes Mal geöffnet wird, wenn ich per SSH auf einen Host zugreife (zum Beispiel wenn ich Folgendes tue ssh example.com
):
Hier ist meine aktuelle SSH-Konfiguration:
Host server.provider.com
LocalForward 3315 localhost:3306
Host example.com
User user1
Host example.it
User user2
Host example.es
User user3
Ich habe dies versucht, aber es funktioniert nicht:
Host server.provider.com
LocalForward 3315 localhost:3306
Host example.com
HostName server.provider.com
User user1
Host example.it
HostName server.provider.com
User user2
Host example.es
HostName server.provider.com
User user3
Antwort1
Einfachster Ansatz:
Host server.provider.com Lokale Weiterleitung 3315 localhost:3306 Hosten Sie example.com Benutzer user1 Lokale Weiterleitung 3315 localhost:3306 Hosten Sie example.it Benutzer user2 Lokale Weiterleitung 3315 localhost:3306 Host example.es Benutzer user3 Lokale Weiterleitung 3315 localhost:3306
Sie können mehrere Namen gruppieren:
Host server.provider.combeispiel.com beispiel.it beispiel.es Lokale Weiterleitung 3315 localhost:3306 Hosten Sie example.com Benutzer user1 Hosten Sie example.it Benutzer user2 Host example.es Benutzer user3
Und damit Ihr zweites Beispiel funktioniert, können Sie die Match final
Funktion verwenden (neu in OpenSSH8,0), das eine zweistufige Analyse der Konfigurationsdatei ermöglicht:
Gastgeber des Endspielsserver.provider.com Lokale Weiterleitung 3315 localhost:3306 Hosten Sie example.com Hostname server.provider.com Benutzer user1 Hosten Sie example.it Hostname server.provider.com Benutzer user2 Host example.es Hostname server.provider.com Benutzer user3