Komponente für SSH-Tunnel zu MySQL etc.

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
sierdolg
Beiträge: 66
Registriert: Mi 24. Okt 2012, 15:50

Komponente für SSH-Tunnel zu MySQL etc.

Beitrag von sierdolg »

Liebe MySQL-Lazarus-Experten,

das Thema wurde in mehreren Postings schon angeschnitten (http://www.lazarusforum.de/viewtopic.ph ... ssh#p39905,
http://www.lazarusforum.de/viewtopic.ph ... ost#p66513, http://www.lazarusforum.de/viewtopic.ph ... 543#p67543), aber nirgends in den MIttelpunkt gestellt: Viele (die meisten?) mysql-Server sind nicht direkt über ihren Port erreichbar, sondern nur auf dem sichereren - authentifizierten und verschlüsselten - Umweg über einen ssh-Tunnel und localhost:3306.

Es wäre nun wunderbar, wenn eine Lazarus-Anwendung über diesen indirekten Weg direkt mit dem Datenbankserver "reden" könnte. Eine freie Delphi-/Lazarus-Komponente, die das transparent unterstützt (also den ssh-Tunnel bis vielleicht auf die Kennworteingabe beim Verbindungsaufbau "wegkapselt"), scheint es aber noch nicht zu geben; wenn ich es recht sehe könnte es entweder eine Erweiterung von TMySQL55Connection oder (wohl flexibler) eine allgemeine Verbindungskomponente sein. Zu TSSHConnection findet sich im Web aber gar nichts ,-) Ansonsten habe ich nur kommerzielle Komponenten (wie die auf http://wiki.freepascal.org/Components_a ... .2FLazarus gelisteten) gefunden.

Kennt jemand schon etwas in der Richtung?

Externe Lösungen wie mit putty/plink oder einem ssh-Skript (http://dev.mysql.com/doc/refman/5.1/en/ ... d-ssh.html) sind unschön, will man doch alles kompakt und zuverlässig in einer Anwendung haben. Genau so, wie es auch die mysql-workbench beherrscht...

Benutzeravatar
theo
Beiträge: 10865
Registriert: Mo 11. Sep 2006, 19:01

Re: Komponente für SSH-Tunnel zu MySQL etc.

Beitrag von theo »

Ich weiss nicht genau welche Richtung du meinst, aber es gab mal einen kleinen Versuch, über PHP mit MySQL zu kommunizieren.
http://www.lazarusforum.de/viewtopic.php?p=39921#p39921
Aber frag mich nicht mehr, bin da nicht mehr "drin".

gocher
Beiträge: 298
Registriert: Di 23. Nov 2010, 23:41
OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
CPU-Target: 32Bit/64Bit
Wohnort: Geldern
Kontaktdaten:

Re: Komponente für SSH-Tunnel zu MySQL etc.

Beitrag von gocher »

ist aber eine simple Sache mit PLinkRemote.pas, über Command-line Connection Tool Plink (PuTTY Link) plink.exe
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

sierdolg
Beiträge: 66
Registriert: Mi 24. Okt 2012, 15:50

Re: Komponente für SSH-Tunnel zu MySQL etc.

Beitrag von sierdolg »

Hallo gocher,

führt das aber nicht dazu, daß das Kennwort im Klartext in der Prozeßliste erscheint? Zitat aus einem in dem Zusammenhang gefundenen Beispiel:

Code: Alles auswählen

RunStr:=PLinkPath+' -l '+Username+' -pw '+Password+' -P '+IntToStr(Port)+' '+Server+#0;
Sowas ist mir in mehreren Varianten untergekommen.

Unter Linux würde dann ein schlichtes "ps -ef" (und mit den richtigen Tools bestimmt analoges auch unter Windows) zum Nachschauen für Neugiereige reichen (ein Fauxpas, wie er manchmal in den besten Familien vorkommt ,-) ).

Das wäre jedenfalls genau nicht was man möchte. - Es mag für Erfahrene vielleicht raffinierter gehen, doch geht das dann über bescheidenere Programmierkenntnisse wieder deutlich hinaus und kommt vermutlich dem Versuch nahe, den ssh-Clientteil direkt selber zu implementieren. Deswegen eben die Frage nach einer integrierbaren Komponente.

gocher
Beiträge: 298
Registriert: Di 23. Nov 2010, 23:41
OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
CPU-Target: 32Bit/64Bit
Wohnort: Geldern
Kontaktdaten:

Re: Komponente für SSH-Tunnel zu MySQL etc.

Beitrag von gocher »

Ok, wenn der Auslösende Rechner nicht sicher ist, könnte Dir vielleicht noch Synapse in Verbindung mit OpenSSL, CryptLib, StreamSecII or OpenStreamSecII SSL weiterhelfen, siehe http://wiki.freepascal.org/Synapse.

Ups hat Theo auch schon geschrieben.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

Antworten