Zugriff auf SOLR-Serverinstanzen mit SSH-Tunneling

Die Einfachheit, die Leistungsfähigkeit und vor allem die Sicherheit des SSH-Tunneling ist beeindruckend. Das SSH-Tunneling ist für Developers & Operators (DevOps) ein Schweizer Taschenmesser. So können viele Ports zu Remote-Services geschlossen bleiben.

Sicherheit: Admin Dienste sollen nur auf localhost hören

Du benötigst nur einen SSH Zugang zu deinem Server und kannst von deinem Arbeitsplatz aus auf Dienste zugreifen (debuggen, testen, überprüfen…), die durch eine Firewall geschützt sind und nur auf localhost hören.

SSH-Tunneling erhöht also in erster Linie die Sicherheit und du kannst die Dinge einfach halten: Mit SSH kannst du einen Listening-Socket auf deinem Computer öffnen, während der gesamte Datenverkehr an einen bestimmten Port auf deinen SSH-Server umgeleitet wird.

Im folgenden Beispiel beschreibe ich dieses Szenario: Auf deinem Remote-Server (IP: xxxx) wurde eine Solr-Instanz als Suchdienst konfiguriert, sie ist hinter einer Firewall geschützt und akzeptiert nur lokale Verbindungen von 127.0.0.1.

Du willst jetzt über das Solr-Admin-Panel (normalerweise erreichbar über Port 8983) die Konfiguration des Solr-Server überprüfen. Der Remote-Server ist über das SSH Port erreichbar. Der Solr-Server Port 8983 ist von aussen aber nicht erreichbar.

Auf das Solr-Admin-Panel zugreifen

Mit SSH-Tunneling kannst du einfach von deinem Browser aus auf das Solr-Admin-Panel zugreifen: Alle Daten werden durch das Internet und per SSH geschützt, verschlüsselt und komprimiert zum Server geleitet.

Der zu verwendete Befehl in der Windows-, Mac- oder Linux-Konsole ist sehr einfach:

ssh -p22 -L localhost:8983:127.0.0.1:8983 user@xxxx -N -C

Im Detail:

  • -p22 bitte den SSH Port deines Servers verwenden
  • 8983 ist der lokale Port, von dem aus das Tunneling beginnt (auf deinem Computer)
  • 127.0.0.1:8983 ist die Ziel-IP:Port Kombination für deine Anfrage; mit anderen Worten, wohin der Tunnel zeigt (die Verbindung nach der Anmeldung am Remote-Server)
  • user@xxxx die Remote-SSH-Anmeldeinformationen
  • -N Sende keine Befehle über SSH, warten Sie einfach auf die Shell
  • -C aktiviert die SSH-Protokollkomprimierung (wir kümmern uns um Geschwindigkeit, nicht wahr :wink: )

Sobald die Verbindung steht und der SSH Tunnel aufgebaut ist, kannst du in deinem Firefox- oder Chrome-Browser über http://localhost:8983 auf die entfernte Solr-Admin-Oberfläche zuzugreifen. Der Tunnel wird automatisch geschlossen, wenn du in der Konsole [STRG]+C eingibst oder die Konsole schliesst.

Anmerkung:

http://localhost:8888 würde dann funktionieren, wenn du folgenden SSH Tunnel aufbaust:

ssh -p22 -L localhost:8888:127.0.0.1:8983 user@xxxx -N -C