und GnuPG
andreas
- php
0 Henryk Plötz0 andreas0 Henryk Plötz0 andreas0 Henryk Plötz0 andreas0 Henryk Plötz0 andreas
Hallo!
Eine wichtige Frage vorab: Mit welchem Client logge ich mich am besten von Win2000 aus per SSH auf einem Linux Server ein?
Also, ich hab mich jetzt mal ein wnig zu dem Thema informiert, mir dieses "Howto" mal durchgelesen, jetzt verstehe ich das zwar grundsätzlich schon besser, aber noch nicht in letzter Konsequenz. Erstmal habe ich mir dieses winPT runtergeladne und mir einen eigenen Schlüssel für die betroffene Mail erstellt. So weit war das ja erstmal ganz einfach. Nun ja, jetzt habe ich den Schlüssel, und das Script PHP(shell) welches erstmal die Dump-Datei auf dem Server erstellt.
Vom Provider weiß ich dass im Pfad /usr/bin/gpg GPG installiert ist.
Dann lese ich im Howto, verschüsseln und signieren mache ich so:
gpg [-u Sender] [-r Empfänger] [--armor] --sign --encrypt [Datei]
Ok, ist das shellscript, in PHP wahrscheinlich:
gpg ("/usr/bin/gpg -u".$absender." -r".$empfaenger." --armor --sign --encrypt ".$file);
Wird die mail so verschickt(ist das überhaupt richtig so?), welche Datei ist gemeint, doch nicht der Anhang, oder?
Wie bekomme ich jetzt noch den Anhang mit?
Grüße
Andreas
Moin
Eine wichtige Frage vorab: Mit welchem Client logge ich mich am besten von Win2000 aus per SSH auf einem Linux Server ein?
hmm, putty ?
Vom Provider weiß ich dass im Pfad /usr/bin/gpg GPG installiert ist.
Dann lese ich im Howto, verschüsseln und signieren mache ich so:
^^^^^^^^^
gpg ("/usr/bin/gpg -u".$absender." -r".$empfaenger." --armor --sign --encrypt ".$file);
^^^^^^^^^^^ ^^^^^^
Du willst bestimmt nicht signieren. Denn dafür bräuchte dein Skript einen eigenen geheimen Schlüssel, der sinnvollerweise mit einem Mantra gesichert ist, dass sinnvollerweise nicht wirklich einfach von deinem Skript nach GPG zu bekommen ist.
Wird die mail so verschickt(ist das überhaupt richtig so?), welche Datei ist gemeint, doch nicht der Anhang, oder?
Da wird gar nichts verschickt. Es wird nur die Datei verschlüsselt. Wenn überhaupt, da dieser Aufruf mit Sicherheit deinen öffentlichen Schlüssel nirgendwo findet.
In meinem letzten Beitrag habe ich dir doch gezeigt, dass es wohl am sinnvollsten ist, wenn du gpg gleich in die Pipe mit den anderen Programmen reinhängst.
--
Henryk Plötz
Grüße aus Berlin
Hi!
hmm, putty ?
Hab ich, muß jetzt nur noch die Verbindungsdaten herausbekommen, aber das schaffe ich schon (hoffe ich).
Du willst bestimmt nicht signieren. Denn dafür bräuchte dein Skript einen eigenen geheimen Schlüssel, der sinnvollerweise mit einem Mantra gesichert ist, dass sinnvollerweise nicht wirklich einfach von deinem Skript nach GPG zu bekommen ist.
OK, dann halt nicht signiert. Ich dachte das wäre gerade einfach da das Script immer dieselbe Mail an denselben empfänger schickt, jeden Tag.
Wird die mail so verschickt(ist das überhaupt richtig so?), welche Datei ist gemeint, doch nicht der Anhang, oder?
Da wird gar nichts verschickt. Es wird nur die Datei verschlüsselt. Wenn überhaupt, da dieser Aufruf mit Sicherheit deinen öffentlichen Schlüssel nirgendwo findet.
Aber ich dachte GPG würde ganze mails verschlüsseln? Muß man also jede anhangsdatei so berschlüsseln und den Body-Text in einer Datei speichern, verschlüsseln und erst dann einfügen und mit mail() versenden????? Kann ich mir ja überhauot nicht vorstellen!
In meinem letzten Beitrag habe ich dir doch gezeigt, dass es wohl am sinnvollsten ist, wenn du gpg gleich in die Pipe mit den anderen Programmen reinhängst.
Erstmal muß ich bei PGP den Key importieren, das kann noch dauern bis ich endlich den Zugriff per SSH habe(geht nicht anders, oder?) und dann muß ich den halt noch importieren, aber das hatte ich schon gelesen wie das theoretisch gehen sollte.
Grüße
Andreas
Moin
OK, dann halt nicht signiert. Ich dachte das wäre gerade einfach da das Script immer dieselbe Mail an denselben empfänger schickt, jeden Tag.
*?*
Aber ich dachte GPG würde ganze mails verschlüsseln? Muß man also jede anhangsdatei so berschlüsseln und den Body-Text in einer Datei speichern, verschlüsseln und erst dann einfügen und mit mail() versenden????? Kann ich mir ja überhauot nicht vorstellen!
GPG hat mit Mails genau gar nichts am Hut. Es verschlüsselt nur einfache Dateien bzw. sogar allgemeiner Datenströme. Was du mit dem verschlüsselten Datenstrom dann anstellst, ist gpg piepegal. Das was du in deinem Fall verschlüsseln willst ist der Datenbankdump, also jagst du den direkt aus der Datenbank durch gzip und gpg, und verschickst ihn dann.
Erstmal muß ich bei PGP den Key importieren, das kann noch dauern bis ich endlich den Zugriff per SSH habe(geht nicht anders, oder?) und dann muß ich den halt noch importieren, aber das hatte ich schon gelesen wie das theoretisch gehen sollte.
Ich dachte bei dir wäre es einfacher wenn du den Schlüssel gar nicht importierst (ich weiss allerdings nicht wie bei dir die Skripte laufen, und ob dafür ein eigener User mit eigenem Homeverzeichnis angelegt ist), sondern du gibst gpg einfach die Schlüsselbundatei mit deinem öffentlichen Schlüssel an
--
Henryk Plötz
Grüße aus Berlin
Hi!
GPG hat mit Mails genau gar nichts am Hut. Es verschlüsselt nur einfache Dateien bzw. sogar allgemeiner Datenströme. Was du mit dem verschlüsselten Datenstrom dann anstellst, ist gpg piepegal. Das was du in deinem Fall verschlüsseln willst ist der Datenbankdump, also jagst du den direkt aus der Datenbank durch gzip und gpg, und verschickst ihn dann.
Schon seltsam dass ich das nach ein paar Stunden lesen noch nicht bemerkt habe, war wohl in meinen Kopf gebrannt, oder ich bin heute wirklich schlecht drauf.
Also Du meinst:
system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." | gzip | gpg --encode > ".$file, $fp);
? Aber wie binde ich da jetzt meinen Schlüssel ein?
Ich dachte bei dir wäre es einfacher wenn du den Schlüssel gar nicht importierst (ich weiss allerdings nicht wie bei dir die Skripte laufen, und ob dafür ein eigener User mit eigenem Homeverzeichnis angelegt ist), sondern du gibst gpg einfach die Schlüsselbundatei mit deinem öffentlichen Schlüssel an
Also die Schlüselbund Datei in ein Sicheres Verzeichnis hochladen und wie einbinden?
Und zu Hause kann ich dann erstmal den anhang nicht mehr lesen und muß den erst entschlüsseln, richtig? Mit meinem privaten Schlüssel, oder? Nur so nebenbei - warum gibt man dann sein Email-Adresse bei dem Schlüssel an, wenn das nichts mit Mails zu tun hat?
Grüsse
Andreas
Moin
system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." | gzip | gpg --encode > ".$file, $fp);
? Aber wie binde ich da jetzt meinen Schlüssel ein?
Ja so in etwa, ich glaub die genauen Parameter hatte ich bei meinem letzten Post schon beigelegt.
Also die Schlüselbund Datei in ein Sicheres Verzeichnis hochladen und wie einbinden?
Och das muss nicht unbedingt sicher sein (naja, es darf niemand drauf schreiben dürfen), da das ja immerhin der öffentliche Schlüssel ist.
Und zu Hause kann ich dann erstmal den anhang nicht mehr lesen und muß den erst entschlüsseln, richtig? Mit meinem privaten Schlüssel, oder? Nur so nebenbei - warum gibt man dann sein Email-Adresse bei dem Schlüssel an, wenn das nichts mit Mails zu tun hat?
Genau. Zu Hause jagst du dann die angehängte Datei erneut durch gpg (er müsste automatisch erkennen dass du entschlüsseln willst, ansonsten noch -d angeben), gibst dein hoffentlich geheimes Mantra ein und erhältst die ursprüngliche, gezippte Datei wieder. Wenn du einen einigermaßen vernünftigen Mailclient hast (eine Liste lag glaubich auf den gnupg-Homepage rum), kannst du das sogar alles im Client erledigen.
Zur Emailaddresse: Die ist einfach als weltweit eindeutige Identifizierung des Besitzers gedacht. Dir ist sicherlich schon aufgefallen dass du einen Schlüssel allein durch Eingabe der email-Addresse auswählen kannst (und nicht die recht kryptische Schlüssel-ID benutzen musst) und das ist eben nur fehlerfrei möglich, wenn du ein einmaliges Merkmal benutzt. Es gibt 'da draussen' vermutlich Tausende Andreas Korthaus, aber nur einmal akorthaus@web.de. Bei deinem privaten Schlüsselbund ist das vielleicht noch nicht ausschlaggebend, aber GPG-Schlüssel tauscht man auch gerne über Schlüsselserver aus, wo sich sehr viele Schlüssel tummeln. (Und natürlich ist gpg/pgp nunmal primär für den Nachrichtenaustausch konzipiert, der ja hauptsächlich über email stattfindet)
--
Henryk Plötz
Grüße aus Berlin
Hi!
Dank Carsten hab ich den Beitrag inwischen!
Also noch eon Versuch wie das endgültig aussieht, und zwar binde ich am besten die kpl. Schlüsselring datei ein:
system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." | gzip | gpg -e -r ".$file. "--yes > ".$file, $fp);
So? Aber wo gebe ich den Pfad zum einen zu GPG an(brauch ich das überhaupt?), und zum anderen des Keyrings an?
Also jetzt ausgehend von PHP!
Grüße
Andreas
Moin
system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." | gzip | gpg -e -r ".$file. "--yes > ".$file, $fp);
So? Aber wo gebe ich den Pfad zum einen zu GPG an(brauch ich das überhaupt?), und zum anderen des Keyrings an?
Hmm, kann sein dass du den Pfad vor den Aufruf von gpg stellen musst (genauso wie du es schon bei mysqldump getan hast), kann auch sein dass das nicht nötig ist. Im Zweifelsfall mit Pfad.
Bei -r gibt du den Empfänger (engl. == receiver) an, und das bist du. Da sollte also deine Emailaddresse hin. Die Schlüsselbunddatei gibst du nach dem Parameter --keyring an. Also sowas wie
system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." | gzip | /wo/auch/immer/gpg -e -r andreas --keyring /ein/lustiger/ort/für/pubring.gpg --yes > ".$file, $fp);
--
Henryk Plötz
Grüße aus Berlin
Hi!
Hmm, kann sein dass du den Pfad vor den Aufruf von gpg stellen musst (genauso wie du es schon bei mysqldump getan hast), kann auch sein dass das nicht nötig ist. Im Zweifelsfall mit Pfad.
Bei -r gibt du den Empfänger (engl. == receiver) an, und das bist du. Da sollte also deine Emailaddresse hin. Die Schlüsselbunddatei gibst du nach dem Parameter --keyring an. Also sowas wie
Mit gzip geht es ja auch ohne Pfad, und in SSH brauche ich den Pfad auch nicht, aber schaden kann es ja nicht.
system ("/usr/bin/mysqldump -u".$user." -p".$pass." -h".$host." ".$db." | gzip | /wo/auch/immer/gpg -e -r andreas --keyring /ein/lustiger/ort/für/pubring.gpg --yes > ".$file, $fp);
Nun ja, dann werde ich das mal probierern!
Vielen Dank für Deine Hilfe, ich schreib dann mal wie es gelaufen ist. Vielleicht importiere ich die Schlüssel doch mal mit SSH, damit ich damit in Zukunft mal ein kleines bisschen besser klar komme und nicht andauernd nerven muß!
Viele Grüße
Andreas