Entfernte DB Verbindung über SSH mit der Community Edition
Windows:
Downloaden und Putty installieren.
Putty starten und zu Connection --> SSH --> Tunnels navigieren.
"Source port" (Quell Port)eingeben. Dies ist der Port der lokalen Maschine, der später auf den entfernten Server mit der MongoDB Instanz weitergeleitet wird. Wir benutzen hier für das Beispiel Port 6666.
Ziel eingeben ("Destination"). Dies ist die IP des Interfaces auf dem die MongoDB Instanz gebunden ist auf dem entfernten Server. Wir gehen im Beispiel davon aus, dass dies localhost ist und MongoDB den Stadardport benutzt, also 127.0.0.1:27017 in unserem Beispiel. Nicht vergessen den IPv4 Knopf anzuwählen (Bild 1).
Anschließend den "Hinzufügen" (Add) Knopf drücken (Bild 2).Zu "Session" navigieren und den Hostnamen bzw. die IP des entfernten Servers mit der MongoDB Instanz angeben. (Bild 3)
Jezt starten wir das Mongo Management Studio und drücken auf den blauen "Verbinden" (Connection) Knopf. Im Feld "Server Verbindung" tragen wir nun die "lokale Seite" des SSH-Tunnels ein, hier ist dies 127.0.0.1:6666 (dies ist der zuvor ausgesuchte Quellport.).
Mit "Speichern und verbinden" ("Save and connect") sollte man nun wenn alles geklappt hat eine Verbindung zur entfernten Datenbank herstellen! (Bild 4)
Linux/ Max:
Um einen SSH-Tunnel zu öffnen, startet man ein Terminal und gibt folgendes ein:
SSH tunnel Linux
|
wobei "6666" der lokale "Quellport" ist (welcher zur entfernten Maschine weitergeleitet wird), "localhost:27017" ist die IP des Interfaces auf dem MongoDB Server, auf dem die Instanz gebunden ist, sowie der Standardport. "Username" entspricht dem Login auf dem entfernten Server und "remote.host " die entsprechende IP.
Stellen Sie sicher keine niedrigen Ports unter 1024 zu verwenden, dies ist ohne Rootprivilegien nicht möglich. Sie können ebenfall den SSH Parameter "-i /path/to/id_rsa" benutzen, sollten sie vorher ein passwortloses Login mit Schlüsselpaarauthentifizierung eingerichtet haben.
2. Jezt starten wir das Mongo Management Studio und drücken auf den blauen "Verbinden" (Connection) Knopf. Im Feld "Server Verbindung" tragen wir nun die "lokale Seite" des SSH-Tunnels ein, hier ist dies 127.0.0.1:6666 (dies ist der zuvor ausgesuchte Quellport.). Mit "Speichern und verbinden" ("Save and connect") sollte man nun wenn alles geklappt hat eine Verbindung zur entfernten Datenbank herstellen! (Bild 4)
Nach getaner Arbeit nicht vergessen den SSH-Tunnel wieder zu schließen. Der SSH-Parameter f teilt SSH tells ssh mit, den Prozeß in den Hintergrund zu legen. Um den Tunnel schließen zu können müssen wir mit "ps aux |grep ssh" die PID finden und mit "kill <pid>" letzendlich beenden. Dies bietet gegenüber einem "sudo killall ssh", daß andere SSH-Verbindungen bestehen bleiben.