canjuma
Goto Top

Plink (linux): SSH Verbindung aufbauen und lokale PHP Scripte ausführen

Hallo zusammen,

ich probiere gerade mit plink auf einem ubuntu server (Server 1) eine Verbindung zu einem MariaDB Server (Zielserver) (durch einen SSH Server (SSH-Server)) aufzubauen und dort mit php SQL abfragen auszuführen.

Den Tunnel aufzubauen habe ich bereits mit folgendem plink Befehl geschaft:

plink [SSH_HOST] -P 22 -l [SSH_USERNAME] -pw "[SSH_PASSWORT]" -i "[PATH_TO_PPK_KEY]" -L 127.0.0.1:3307:[MYSQL_HOST]:3306 -N -batch  

auch die SQL Abfragen funktionieren.

Nur muss ich aktuell immer:

  • Erst ein Terminalfenser öffnen
  • den o.s. plink Befehl ausführen um den Tunnel zu "öffnen"
  • dann ein neues Terminal Fenser öffnen
  • und mein php script auf Server 1 ausführen (Exportiert ein SELECT Statement in eine csv Datei auf Server 1)
  • SSH Session wieder schließen

Ich habe probiert den plink Befehl direkt am Beginn in meinem PHP Script mit shell_exec(); aufzurufen. Nur wenn ich das php script dann starte bleibt der Vorgang nach dem Öffnen des Tunnels stehen ("using username xyz"), sodass das restliche Script nicht ausgeführt wird.

Ziel ist es, das ganze regelmäßig als cronjob laufen zu lassen. Kennt ihr eine Möglichkeit, wie ich das automatisieren kann?

Ich nutze plink, da ich nur eine .ppk Datei zur Verfügung habe.

Beste Grüße

Content-Key: 1164037793

Url: https://administrator.de/contentid/1164037793

Printed on: April 27, 2024 at 01:04 o'clock