Bernhard Häussner
Tags: Artikel mit dem Tag «KDE» durchstöbern

Kopete Kryptographie-Modul und Jabber

20.02.2009, 10:36

Wenn Google durch die Straße fährt und den Vorgarten fotografiert, merkt plötzlich jeder, was Privatsphäre eigentlich ist und warum man sie behalten will. Jedoch scheinen Benutzer von IM-Diensten keine Privatspäre zu mögen. Schleißlich könnten die intimen Chats mit der Freundin jederzeit im Internet oder in einem Buch veröffentlich werden, zumindest wenn diese z.B. über ICQ geschehen, nach akzeptiren vorallem des siebten Absatzes der ICQ Nutzungsbedingungen, der eigentlich schon eine rechte Frechheit darstellt. Doch es geht auch anders:

Zum Beispiel mit den offenen Standards von Jabber/XMPP, die im Gegensatz zu den proprietären Netzwerken wie ICQ über eigene Server laufen können und nicht an eine zentrale Stelle gebunden sind. Außerdem gibt es keine räuberischen Richtlinein zu akzeptieren. Diverse Mail-Provider haben eigene Jabber-Server auf denen man schon einen Account hat, wenn man ein Mailpostfach hat, man muss sich also nichtmal „bei Jabber“ (eben nicht, man braucht nur bei einem Server einen Zugang) anmelden.

Dennoch könnte natürlich jemand (am selben WLAN-Hotspot, am Server, zwischen den Servern etc.) unerlaubt und unbemerkt mithören und damit die Privatsphäre wiederum angreifen. Im Extremfall sogar eigene Nachrichten untermischen. Dagegen kann man sich wiederum durch eine geeignete Ende-zu-Ende-Verschlüsselung schützen. Besonders leicht geht das mit GPG und Kopete.

Da man GPG ja zum Schreiben von E-Mails verwendet, hat man mit entsprechend brisanten Kontaktpersonen meistens onehin schon Schlüssel ausgetauscht und diese signiert. Wer noch nie GPG benutzt hat, kann das z.B. hier lernen. Ist GPG eingerichtet und die Schlüssel getauscht, sind die weiteren Schritte eigentlich recht einfach.

Nachdem man in Kopete das Kryptographie-Modul aktiviert hat und den eigenen Schlüssel ausgewählt hat (damit man die eigenen Nachrichten auch lesen kann) muss man noch den Kontakten, denen man verschlüsselt schreiben will ihre öffentlichen Schlüssel zuweisen (über das Kontextmenü). Vorausgesetzt dies geschieht nicht sowieso schon durch die Adressbuchzuweisungen. Bei den anderen Teilnehmern der Konversation müssen diese Schritte natürlich auch durchgeführt werden, sonst werden die Nachrichten nicht wieder automatisch entschlüsselt oder nur in eine Richtung verschlüsselt.

Kommentare: 2 Einträge

MySQL von außen via SSH-Tunnel (und KDE GUI)

28.12.2008, 17:04
Lokaler MySQL-Client 
    |
    |
(verschlüsselte SSH-Verbindung)
    |
    v
MySQL-Server

Als Web-Administrator braucht man oft Zugang zu einem MySQL-Server. Das kann man mit phpMyAdmin machen, doch das ist kaum so sicher und weniger komfortabel wie remote-Zugriff über einen SSH-Tunnel.

Was kann der SSH-Tunnel und wie geht das?

En SSH-Tunnel macht, dass, wenn auf den eigenen Rechner von einem Port zugegriffen wird, dann die Packete über die verschlüsselte SSH-Verbindung von dem Verbundenen Rechner (Gateway) aus wieder an einen Rechner weitergeleitet werden. Der Befehl sieht so aus:

ssh -L lokalerport:zielrechner:zielport sshgatewaylogin@gateway

Siehe auch das Diagramm:

Irgendwer 
    |
    |
(Lokaler Port)
    |
    v
Mein Computer
    |
    |
(verschlüsselte SSH-Verbindung)
    |
    v
Gateway, eingeloggt als SSH-Gateway-Login
    |
    |
(Zielport)
    |
    v
Zielrechner

Im Fall MySQL greife nur ich über irgendeinen Port auf meinen Computer zu. Der Gateway-Rechner und Zielrechner sind der MySQL-Server und der greift auf sich selbst zu und zwar über den MySQL-Port (Standard: 3066). Dann sieht das ungefähr so aus:

ssh -L 7777:127.0.0.1:3306 me@mysqlserver -N -f

In Verbindung mit MySQL am besten immer 127.0.0.1 verwenden, das vermeidet Ärger. Das praktische ist nun, dass man MySQL-Clients auf den eigenen Rechner nun mit der Datenbank auf dem Server verwenden kann. Solche Clients sind z.B. der MySQL-Abfrage-Browser oder der MySQL-Administrator oder sogar ein PHP-Skript, das auf dem eigenen Rechner läuft. Man kann damit also nicht nur die Datenbank mit einem schönen GUI verwalten, sondern auch PHP-Skripte, Templates o.ä. auf dem eigenen Rechner testen, nur eben mit der Datenbank auf dem Server. Das ist besonders praktisch, wenn man in einem nicht-lokalen Team zusammenarbeitet, da dann alle auf eine zentrale (Development-)Datenbank zugreifen und nicht jeder ständig seine Datenbank synchronisieren muss. (Außerdem muss nicht jeder einen MySQL-Server installieren. )

Wie man das verwendet ist auf tsunamihost.ch sehr gut beschrieben, für Windows und unixoide Systeme. Es findet sich sogar ein kleines Script für init.d um den Tunnel bei jedem Systemstart zu aktivieren.

(Update 2010-11-21) Um zum Beispiel ein MySQL-Dump über den SSH-Tunnel auf einen entfernten Datenbankserver aufzuspielen genügt dann dieser Befehl:

cat local_path/to/dump.sql | \
   mysql -u db_user -p -P 7777 -h 127.0.0.1 db_schema

Es ist hier wichtig als Host 127.0.0.1 anzugeben, da sonst eine lokale Socket-Verbindung genutzt wird. Und natürlich den Port, über den der Tunnel läuft. (/Update)

Ich will mir keine Befehle und Ports merken und habe KDE

Dann habe ich noch ein kleines Script im Angebot: Es lässt sich z.B. im Startmenü verknüpfen und wenn man es anklickt öffnet sich ein Dialog, der fragt, ob der MySQL-Tunnel benötigt wird. Ein klick auf „Ja“ und der Tunnel wird gestartet bzw. läuft weiter oder ein Klick auf "Nein" und der Tunnel wird, sollte er laufen, gestoppt. Einfacher geht es nicht, oder? Das Sktipt braucht KDE, da es kdialog verwendet und steht hier zum Download bereit:

Kurz die Konfiguration bearbeiten und in den Ordner ~/bin verschieben und der Tunnel kann jederzeit gestartet werden.

Da das Tunnel Aufbauen von meiner Server Management Software YaSvenT erledigt wird, benutze ich inzischen das Sktipt allerdings fast nicht mehr

Kommentare: keine

Servicemenüs für Konqueror und Dolphin

22.12.2008, 17:30

Tipp: Lesen Sie einen neuen Artikel zum Thema: Servicemenüs für Dolphin (neu).

Einer der Hauptvorteile von Linux für mich ist, dass es von Programmieren für Programmieren gemacht ist. Das hat den Nebeneffekt, das man sich teilweise auskennen muss, aber den immensen Vorteil, dass, kennt man sich ein bisschen aus, man schon recht nette Dinge anstellen kann. Zum Beispiel kann man Scripts via Mausklick mit Dateien füttern, indem man die Servicemenüs von Konqueror bzw. Dolphin benutzt. Wie das geht hier.

Zuerst einmal brauchen wir ein Programm, dass Dateien will. Als Beispiel md5sum. Mich hat es immer genervt, nur um mal eben eine Datei zu prüfen in der Konsole zumzufummeln. Deshalb erstellen wir ein Servicemenü:

[Desktop Entry]
ServiceTypes=all/allfiles
X-KDE-Submenu=Check...
Actions=md5sum;sha1sum;sha512sum

[Desktop Action md5sum]
Name=md5-Checksumme berechnen
Icon=kugardata
Exec=kdialog --msgbox"`md5sum %U`"

[Desktop Action sha1sum]
Name=sha1-Checksumme berechnen
Icon=kugardata
Exec=kdialog --msgbox "`sha1sum %U`"

[Desktop Action sha512sum]
Name=sha512-Checksumme berechnen
Icon=kugardata
Exec=kdialog --msgbox "`sha512sum %U`"

Zuerst ein Desktop Entry, der den Ordner für die Prüfsummen-Aktionen einstellt. Wir wollen alle Dateien prüfen, deshalb ServiceTypes=all/allfiles, hier könnten wir auch andere Bezeichener einsetzten, nämlich die, die im KDE-Kontrollzentrum unter KDE-Komponenten bei Dateizuordnungen zu finden sind. Es wäre also auch etwas wie image/jpg denkbar.

Dann folgen die Aktionen. Die Namen von den Aktionen werden auch unter Actions eingetragen. Sie bestehen aus einem Icon, der über den Namen des Icons im Aktuellen Iconset definiert wird, einem Anzeigenamen und dem Auszuführenden Programm. Hier wird es wieder etwas interessanter:

Anstatt einfach nur md5sum einzugeben öffnen wir einen kdialog und übergeben ihm die Ausgebe von md5sum. Das geschieht mit den seltsamen Anführungszeichen die man meist irgendwo auf der Taste neben Back Space findet. Da wo %U steht kommt dann der Dateiname hin.

Das ganze kommt dann in eine iwas.desktop Datei und in einen Servicemenü Ordner. Der findet sich normalerweise an einer dieser Positionen:

~/.kde4/share/apps/dolphin/servicemenus
~/.kde/share/apps/konqueror/servicemenus
~/.kde/share/apps/dolphin/servicemenus

Edit: Auf neueren KDE4 Versionen muss man noch dieses Skript nach dem Verschieben in den konqueror-Ordner laufen lassen:

http://www.kde-apps.org/content/show.php/KDE4-servicemenus?content=80131

Wenn alles glatt läuft kann man sie sofort verwenden.

Ein Servicemenü wollte ich noch veröffentlichen. Um Dateien über Instant Messenger und IRC oder große Dateien per Mail bedient man sich gerne einer Dateiupload-Seite, wie z.B. senduit. Diese kann man natürlich in ein Servicemenü integrieren. Das folgende Python-Script im ~/bin-Ordner als ausführbar markieren und das Servicemenü installieren und schon kann es los gehen.

Ein wirkliches muss ist das KDE Image Menu, kurz KIM, mit dem sich Bilder umwandlen, komprimieren, drehen, spiegel und verkleinern lassen. Es ist verfügbar auf kde-apps.org und erspart sehr viel GIMP-Öffnen.

Kommentare: keine

Kate - mein geliebter Editor

27.10.2008, 22:54

Man hat als (Web-)Developer ja immer ein bisschen das Problem sich eine geeignete Arbeitsumgebung zu schaffen, weil es einfach nicht „die“ IDE gibt. Als Ruby on Rails Benutzer hat man die Wahl zwar sehr leicht, wenn man sehr ausgefallen ist und Java verwendet, führt fast nichts an Eclipse vorbei, doch ich bleibe lieber bei PHP. Und da ist der Markt irgendwie sehr unübersichtlich:

Natürlich zählen Subversion, CVS, vi, Apache und MySQL ganz gut zur Entwicklungsumgebung, aber ich will hier eher auf das Programm eingehen, das man am häufigsten braucht: Den Code-Editor.

Um PHP zu entwickeln kann man natürlich auf die - meist rudimentären - Möglichkeiten des ein oder anderen HTML-Editors zurückgreifen. Nur ist für mich ein HTML-Editor nicht mehr so aktuell, da ich HTML irgendwie fast im Schlaf beherrsche. Ich will nicht mehr unbedingt die Buttons für Überschriften usw. , oder gar einen WYSIWYG-Editor. Denn heutzutage braucht man für das Layout fast nur divs und den Content kann man ja dann wieder mit dem HTML-Editor oder im CMS basteln... wenn man will.

Dann gibt es natürlich auch diverse spezielle PHP-Editoren mit nettem Syntax-Highlighting und erweiterten Ersetzungs-Features. Diese sind teilweise mit Datei-Outlining, Projektverwaltung und ähnlichem Schickschnack voll gepackt, dass sie schon fast überladen wirken. Die Spitze des Eisbergs bildet hier wohl das hochwertige Programm UltraEdit, das auch gleich noch FTP-Client, SQL-Tools und viele weitere Features oben drauf setzt.

Jedoch sind diese PHP-Editoren kaum noch zu gebrauchen, wenn man etwas anderes als PHP, HTML usw. machen will. Hier kommt dann Kate ins Spiel. Der erweiterte KDE-Editor kann die Syntax von fast allen denkbaren Programmier- und Auszeichnungssprachen, farblich hervorheben. Darunter HTML, XML, PHP, SQL (sogar MySQL/PostgreSQL-spezifisch), Apache-Konfiguration, CSS, JavaScript, und ausgefallenes wie MediaWiki. Hinter Kate steckt also ein sehr allgemeiner Ansatz. Damit kommt einher, dass man leider auf direkte Implementierung für FTP-Client, Dokument-Outline oder anderes sehr PHP-spezifisches verzichten muss.

Doch das wird eigentlich recht schnell mit der Terminal-Funktion ausgehebelt. Über diese lassen sich dann letztendlich auch SVN oder CVS und eigentlich alle Kommandozeilenprogramme benutzten. Das Terminal cd"ed auch automatisch in den Ordner der gerade offenen Datei.

Das Terminal ist aber nur ein Beispiel, wie sich Kate perfekt in KDE bzw. „Linux“ integriert. Man kann auch Datei-übergreifend suchen und in einer Sidebar in Ordnern browsen. Achja, diese „Ordner“ beinhalten natürlich auch FTP, Webdav, Zip- und komprimierte Tar-Archive, sowie weitere Protokolle. Eben alle Protokolle, die z.B. Konqueror durch die KIO-Slaves auch kann. Dank SFTP kann man sogar auf Servern arbeiten, wo man nur ssh-Zugriff hat, das bedeutet nie wieder Putty- oder CLI-Herumirren.

Natürlich hat Kate auch sonst fast alle Funktion, die man sich so wünschen kann. In Tabs oder der Sidebar können mehrere Dokumente offen sein, an denen man parallel arbeiten kann und die alle gleichzeitig gespeichert werden können. Die offenen Dokumente werden dann in der Sitzung gespeichert. Auch Rechtschreibprüfung, auto-Vervollständigung, automatische Einrückung (mehrere Stile), und Ersetzen mit regulären Ausdrücken gehören zum Editor.

Besonders hilfreich ist auch immer die Integration mit Klipper. Klipper ist unter KDE ein Hilfsprogramm für die Zwischenablage. Es merkt sich automatisch den letzten markierten Text, der dann mit mittlerer Maustaste eingefügt werden kann. So ist sehr schnelles Copypaste möglich. Besonders nützlich kommt dann auch die History-Funktion von Kipper: Über eine Einfügen-Taste in der Symbolleiste kann man ein Menü öffnen und von dort aus den letzten markierten Texten wählen. Wenn man also im Internet oder in der Dokumentation recherchiert, markiert man einfach hin und wieder Funktionen oder Codesnippets die vielleicht nützlich sein könnten. Dann kann man sie später, dank Klipper, wieder aus dem Menü wählen und schnell in den eigenen Code einfügen. Das hilft enorm weiter, wenn man viel mit APIs arbeitet, oder mit altem Code, oder die Dokumentation braucht, oder, oder, oder... eigentlich immer.

In Kate habe ich irgendwie meinen perfekten Editor gefunden. Nicht so überladen, allgemein brauchbar. Nur manchmal fehlt eben noch ein bisschen das Eclipse-Feeling:

Als kleiner Ausblick: Ich habe eigentlich noch keinen PHP-Editor gefunden, der Ordentlich auto-Vervollständigen betreibt. Von Eclipse kennt man das ja, dass man fast immer das Vorgeschlagen bekommt, was man eigentlich wollte. Nut mit PHP hat das noch keiner so recht hin bekommen. Die Sichtweite ist irgendwie immer falsch, includes und autoload fast unerreichbar. Die Anzeige der Dakumentation in der Vervollständigung bei Eclipse habe ich auch immer sehr geschätzt. Wie auch immer, man muss immer seine Klassen und Funktionsaufrufe im Kopf haben, was bei großen Projekten mit vielen Includes sehr schnell zum Problem werden kann. Auch das „refractoring“, hier das Projektübergreifende Umbenennen von Variablen, Funktionen etc. kommt manchmal sehr praktisch zur Hand - in Eclipse. Bei Eclipse kann man auch mit klick auf die Variablen/Klassen zu ihrer Deklaration kommen, was sehr viel herum Suchen erspart. Für PHP gibt es derartige „globale Tools“ irgendwie noch kaum. Naja, man kann ja Erweiterungen für Kate schreiben, außerdem ist es OSS.

PS: Wenn ich die Funktion für Bilder im CMS habe, füge ich auch noch ein paar Screenshots ein...

Edit: Die Bilderfunktion ist jetzt da!

Kommentare: 3 Einträge
« Vorherige Seite [ Seite 1 2 ]
 
Χρόνογραφ
© 2008-2017 by Bernhard Häussner - Impressum - Login
Kurz-Link zur Homepage: http://1.co.de/