mit php von remote rechner lesen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ZzLeCzZ
Beiträge: 245
Registriert: 15.12.2003 19:34:00

mit php von remote rechner lesen

Beitrag von ZzLeCzZ » 18.12.2006 16:03:20

Hi,

ich habe einen webserver und einen zweiten rechner auf dem daten liegen. Mit einem kleinen skript kann ich nun diese daten lesen und uebers web an die sql datenbank des web servers senden. Ich moechte nun die Daten on demand lesen. Das heisst ich moechte sobald der user auf der webseite die daten anfordert das script auf dem remote rechner gestartet wird.

Wie stelle ich das am besten an? Ich koennte mit shell_exec() ein script starten das sich auf dem rechner einlogt und das auslesen der Daten startet. Gibt es vieleicht noch eine elegantere moeglichkeit?

vielen Dank

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 18.12.2006 19:56:59

Hi,

wie liegen die Daten den auf dem anderen Rechner? SQL waer natuerlich von Vorteil...mit vpn / ssl Tunnel sollte man dann recht Elegant darauf zugreifen koennen.

bye, Martin

PS: Thema von den Web- und Mailservern weggeschoben
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

ZzLeCzZ
Beiträge: 245
Registriert: 15.12.2003 19:34:00

Beitrag von ZzLeCzZ » 19.12.2006 10:45:09

Die daten sind auf dem remote Rechner verstreut und muessen erst mit einem script eingesammelt werden. Dann wollte ich die Daten einfach in einem Text file speicher, da auf diesem rechner keine sql server ist.

Koennte mir jemand ein kleines Beispiel geben wie das mit dem login script per ssh funktioniert? bin da nicht so ganz auf der hoehe was scrips angeht..

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 19.12.2006 11:10:52

Hm, wie wärs in zwei Schritten:
1.) per SSH das Skript zum Sammeln der Daten anstoßen (man kann ssh ja Kommandos mit übergeben, näheres Siehe die SSH-Doku). Das Skript legt die gesammelten Daten in einer Datei ab
2.) die Datei per SCP rüber kopieren
Nun hast du die Daten auf deinem lokalen Rechner und kannst ganz normal damit arbeiten.

ZzLeCzZ
Beiträge: 245
Registriert: 15.12.2003 19:34:00

Beitrag von ZzLeCzZ » 20.12.2006 09:26:38

ok das waer eine moeglichkeit. Aber wie kann ich denn das password in das script schreiben so das man sich einlogen kann. bzw. muss ich das passwort im script preisgeben?

Benutzeravatar
hupfdule
Beiträge: 1864
Registriert: 09.12.2002 15:04:37
Wohnort: Berlin
Kontaktdaten:

Beitrag von hupfdule » 20.12.2006 10:12:26

Mach den SSH-Zugriff nicht passwort-geschützt, sondern über einen SSH-Key. Dieser darf natürlich kein Passwort haben, da ihn niemand eingeben kann. Der Key sollte natürlich für einen Benutzer erstellt werden, der nur die absolut nötigen Rechte auf dem System hat.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 20.12.2006 10:37:16

ZzLeCzZ hat geschrieben:ok das waer eine moeglichkeit. Aber wie kann ich denn das password in das script schreiben so das man sich einlogen kann. bzw. muss ich das passwort im script preisgeben?
Es gibt bei SSH eine viel bessere Variante: du benutzt Authentifizierung via Key. Beim Key lässt du die Passphrase leer:

Code: Alles auswählen

ssh-keygen
legt dir einen Key an. Per default wird dann zwei Dateien angelegt: /home/user/.ssh/id_dsa und /home/user/.ssh/id_dsa.pub
Den Inhalt letzterer Datei musst du 1:1 in die authorized_keys im Verzeichnis .ssh im Home des entsprechenden auf dem Zielrechner kopieren. Damit kannst du dann ohne Eingabe eines Passworts einloggen.
Weiterhin gibt es die Möglichkeit, solche Keys so einzuschränken, dass z.B. nur eine bestimmte IP mit diesem Key rein darf.
Das sieht dann z.B. so aus:

Code: Alles auswählen

from="1.1.1.1,2.2.2.2",command="/pfad/auf/dein/skript",no-port-forwarding,no-X11-forwarding ssh-dss ...hier steht dann der eigentliche Key...
Mit obiger Anpassung in der authorized_keys auf dem Zielrechner dürfen z.B. nur noch die Rechner mit den IPs 1.1.1.1 und 2.2.2.2 einloggen und es wird automatisch das angegebene Kommando ausgeführt. Weiterhin ist es mit diesem Key nicht möglich, Tunnels zu bauen oder X11 weiterzuleiten.
Wir nutzen sowas um mittels rsync und ssh Dateien von einem auf einen anderen Server zu transferieren.
Näheres solltest du in den Dokus rund um SSH finden.

ZzLeCzZ
Beiträge: 245
Registriert: 15.12.2003 19:34:00

Beitrag von ZzLeCzZ » 20.12.2006 11:11:27

ok vielen dank ich denke damit komme ich weiter. Werd es dann mal ausprobieren

Antworten