Ich habe Probleme beim Herstellen einer Verbindung zu einem Remote-Datenbankserver.
Ich verwende Windows 10Klientund kann erfolgreich eine Verbindung zu meinem Ubuntu 16 herstellenServermit Putty über SSH, inklusive Schlüsselpaar.
Jetzt läuft auf dem Server ein MongoDB-Server, mit dem ich mich von meinem Client aus verbinden möchte, aber ich möchte den Server nicht mehr als nötig dem Internet aussetzen (er ist ohnehin nicht für die öffentliche Nutzung gedacht), also möchte ich meinen SSH-Tunnel verwenden und den richtigen Port durch ihn weiterleiten. Ich habe kein Problem damit, den Datenbankserver lokal vom Server aus zu verwenden.
Beim Versuch, vom Client aus eine Verbindung zur Datenbank herzustellen, wird mir jedoch die Verbindung verweigert.
/var/log/auth.log
Beim Verbindungsversuch auf dem Server erhalte ich Folgendes:
sshd[30753]: Fehler: connect_to <public-ip-redacted> Port 27017: fehlgeschlagen.
Die sshd_config auf dem Server hat
GatewayPorts ja
AllowAgentForwarding ja
AllowTcpForwarding ja
Auf dem Server mit tcptrackIch sehe, dass einige Verbindungen auftauchen, aber das Zurücksetzen auf der Loopback-Schnittstellebeim Versuch, vom Client aus eine Verbindung herzustellen, und sie verschwinden nach 1–2 Sekunden.
Was vermisse ich?
Antwort1
Der MongoDB-Server hörte laut seiner /etc/mongod.conf
-Datei nur auf seine 127.0.0.1. Die Portweiterleitung des Putty-Tunnels hätte auf 127.0.0.1:<port> statt <public-remote-ip>:<port> eingestellt werden sollen, da Putty dies vermutlich implizit in den lokalen Host des Remote-Servers übersetzt.