SSH mit mehreren Schlüsseln nutzen

Normalerweise erzeugt man einen privaten und einen öffentlichen Teil seines SSH-Schlüssels, hinterlegt den öffentlichen Teil auf den entsprechenden Servern und loggt sich mit diesen dort ein. Nun kann es aber durchaus vorkommen, dass man mit unterschiedlichen Schlüsselpaaren arbeiten muss um sich auf verschiedenen Servern einzuloggen. Zur Lösung dieses Problems existieren zwei Herangehensweisen, welche beide mit der SSH-Konfigurationsdatei arbeiten. Die Konfigurationsdatei ist im Home-Verzeichnis der Nutzers unter .ssh/config zu finden ist. Bei der ersten Möglichkeit werden die entsprechenden Schlüssel in der Konfigurationsdatei hinterlegt:

IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa_production
IdentityFile ~/.ssh/id_rsa_test
IdentityFile ~/.ssh/id_rsa_integration

Damit werden bei einem Login auf einem Server die Schlüssel der Reihe nach durchprobiert. Bei der zweiten Möglichkeit wird ein Host pro Server konfiguriert:

Host production production.example.com
    HostName production.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_production
    

Host test test.example.com
    HostName test.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_test

Host integration integration.example.com
    HostName integration.example.com
    User root
    IdentityFile ~/.ssh/id_rsa_integration

In der Konfiguration des Hosts befinden sich neben dem Host auch die zu nutzende Schlüsseldatei. Als weiteren Vorteil kann man die SSH-Verbindung nun über den definierten Kurznamen aufrufen:

ssh production

Dabei wird die Verbindung mit der definierten Schlüsseldatei aufgebaut, so dass ein durchprobieren der unterschiedlichen Schlüssel vermieden wird.

Webseite im Kiosk-Modus auf dem Raspberry Pi darstellen

Für einen speziellen Anwendungsfall wollte ich eine Webseite im Kiosk-Modus mittels eines Raspberry Pi darstellen. Der Raspberry Pi sollte hochfahren und anschließend die Webseite anzeigen. In diesem Fall wurde Midori als Browser und Raspbian als Distribution ausgewählt. Im ersten Schritt werden die entsprechenden Pakete installiert:

apt-get install xorg matchbox midori unclutter

Nachdem die benötigten Pakete installiert wurden, geht es an die Konfiguration. Dazu wird Home-Verzeichnis des Nutzers pi die Datei .xinitrc angelegt und mit folgendem Inhalt befüllt:

#!/bin/sh
/usr/bin/unclutter &
/usr/bin/matchbox-window-manager &
xset -dpms
xset s off
while true; do
/usr/bin/midori -e Fullscreen -a https://example.org
done

Mittels unclutter wird der Mauscursor ausgeblendet; anschließend wird der Window-Manager gestartet. Danach geht es an die Konfiguration von X11 – die Energiesparoptionen und der Bildschirmschoner werden deaktiviert. Zum Abschluss folgt der eigentliche Start des Browsers in einer Schleife. Dies führt dazu dass Midori nach einem Absturz sofort wieder neugestartet wird. Die aufzurufende URL sollte dabei natürlich angepasst werden. Damit X11 automatisch gestartet wird, editieren wir wir ebenfalls die Datei .bashrc – dort fügen wir an das Ende Datei folgenden Befehl hinzu:

# Start X11
startx

In diesem speziellen Fall war der Anzeigemonitor um 90 Grad gedreht, so das der Inhalt des Bildschirms ebenfalls gedreht werden musste. Dazu muss die Datei /boot/config.txt bearbeitet werden und folgender Wert hinzugefügt werden:

display_rotate=1

Nun muss nur noch dafür gesorgt werden, dass der Raspberry Pi nach dem Start automatisch in den Nutzer pi einloggt. Dazu kann das Konfigurationswerkzeug raspi-config genutzt werden.

Die Einstellung um automatisch mit dem Nutzer pi zu starten

Die entsprechende Einstellung befindet sich in den Boot Options und dort im Punkt Desktop / CLI. An dieser Stelle muss Console Autologin ausgewählt werden. Anschließend kann der Raspberry Pi neugestartet werden und das ganze getestet werden.

Freie Alternative(n) für Evernote

Evernote ist eine praktische Anwendung. Mit ihr können Notizen gespeichert und verwaltet werden. Leider verlangt Evernote mittlerweile happige Preise für seine Premium-Funktionalitäten. Aus meiner Sicht ist dies allerdings das kleinere Problem. Viel schwerer wiegt, das die eigenen Daten einer amerikanischen Firma anvertraut werden müssen. Neben den proprietären Alternativen wie z.B. OneNote von Microsoft, gibt es mittlerweile einige freie Alternativen. Bevor man sich nach einer Alternative umschaut, sollte man erst einmal schauen welche essentiellen Features Evernote bietet. Kurz zusammengefasst sind die wichtigsten Features die Synchronisation über verschiedenen Geräte, der Web-Clipper, die Offline-Funktionalität und die OCR-Erkennung für PDF, Bilder und ähnliches. Wie wichtig jedes dieser Features ist bleibt der eigenen Gewichtung überlassen.

Mir persönlich wäre eine Lösung auf Basis von Nextcloud am liebsten. Als Notizanwendung auf Markdown-Basis bietet sich die Nextcloud App Notes an. Allerdings handelt es sich hierbei nur um eine rudimentäre Lösung. Mehr in die Richtung Evernote gehen die Lösungen ownNotes bzw. dessen Fork NextNote. Leider scheint bei diesen beiden Projekten keine Weiterentwicklung mehr stattzufinden bzw. diese sehr träge zu verlaufen.

Neben auf ownCloud bzw. Nextcloud basierenden Lösungen, gibt es eine Reihe von Standalone-Lösungen. Zu nennen wären hier unter anderem Paperworks, Permanote, Laverna, TagSpaces, Nemex, Brainstorm und OpenNote.

Die Login-Seite von wallabag

Vielen diesen Lösungen werden entweder nicht mehr weiterentwickelt oder lassen nicht wirklich das Evernote-Feeling aufkommen. Daneben gibt es Lösungen welche sich für bestimmte Aspekte von Evernote als Ersatz eignen. Ein Beispiel dafür ist wallabag, welches sich als Read-It-Later-Lösung versteht und zur Archivierung von Webseiten genutzt werden kann.

Eine Lösung welche in letzter Zeit verstärkt in den Fokus gerät ist Joplin, die vom gleichen Entwickler wie eine hier vor längerer Zeit vorgestellte Backuplösung ist. Joplin versteht sich als Alternative zu Evernote und setzt voll und ganz auf Markdown. Das bedeutet allerdings nicht das man keine Bilder oder andere Anhänge zu einem Projekt hinzufügen kann; dies ist problemlos möglich.

Joplin unter macOS

Für Joplin existieren Clients für macOS, Linux und Windows. Für die mobilen Plattformen existieren Apps für iOS und Android.

Joplin
Preis: Kostenlos
Joplin
Preis: Kostenlos

Als Backend unterstützt Joplin, das Dateisystem und eine Synchronisation zu OneDrive. An einer Unterstützung für Nextcloud und Dropbox wird gearbeitet. Laut dem Entwickler, wird diese nach der Beseitigung eines speziellen React Native Bugs implementiert:

Currently, synchronisation is possible with OneDrive (by default) or the local filesystem. A NextCloud driver, and a Dropbox one will also be available once this React Native bug is fixed. When syncing with OneDrive, Joplin creates a sub-directory in OneDrive, in /Apps/Joplin and read/write the notes and notebooks from it. The application does not have access to anything outside this directory.

Durch die geplante Nextcloud-Unterstützung ist es möglich die Synchronisierung auf dem eigenen Server zu nutzen; die eigenen Daten bleiben somit geschützt. Joplin hat mittlerweile die Betaphase verlassen und kann produktiv genutzt werden. Für einen Umstieg von Evernote auf Joplin existiert in der Anwendung eine Importfunktion um die enex-Dateien, welche beim Export aus Evernote erzeugt werden, zu importieren. Der Quelltext ist auf GitHub zu finden und unter der MIT-Lizenz lizenziert. Daneben gibt es eine offizielle Projektseite.

Heimautomation mittels Home Assistant

Auf dem Markt der Heimautomation gibt es eine Reihe von Standards und viele unterschiedliche Softwarelösungen. Viele dieser Lösungen sind proprietär; einige sind freie Software wie z.B. openHAB oder Calaos. Aus der Kategorie der freien Software sticht Home Assistant hervor. Die in Python 3 geschriebene Software versteht sich als eine umfassende Lösung zur Heimautomation. So wird eine Vielzahl von Standards wie Z-Wave oder das IKEA-Beleuchtungssystemen Tradfri unterstützt.

home-assistant.io

Mittlerweile existieren knapp eintausend Komponenten, welche auf der Webseite des Projektes eingesehen werden können. Diese Komponenten decken eine Vielzahl von Sensoren und Anwendungsmöglichkeiten ab. Dies fängt bei Alarmsensoren an, geht weiter über die Integration von Kalendern, die Steuerungen von Aktoren (wie Thermostaten), die Einbeziehung von Wetter, Luftqualität und anderen Daten und Dingen wie der Steuerung von Media-Playern (z.B. PLEX). Mit jeder neuen Version von Home Assistant finden neue Komponenten ihren Weg in das Projekt.

Die Home Assistant Demo-Seite

Installiert werden kann Home Assistant auf einer Vielzahl von Systemen, von verschiedenen Linux-Distributionen über Windows und macOS. Empfohlen wird allerdings die Installation eines vom Projekt erstellten Raspberry Pi-Images. Dieses hört auf den, für deutsche Ohren gewöhnungsbedürftigen, Titel Hass.io und ist für den Betrieb auf einem Raspberry Pi 3 (Modell B) vorgesehen. In diesem Image sind die Funktionalitäten für den Betrieb von Home Assistant kombiniert. Über eine Weboberfläche kann dieses System konfiguriert werden. So können z.B. SSH- oder Samba-Server aktiviert werden um auf die Konfigurationen von Home Assistant zuzugreifen. Technisch basiert Hass.io auf resinOS und nutzt Docker-Container für die Isolierung der einzelnen Serverkomponenten. Der Quelltext des Home Assistant-Projektes ist auf GitHub zu finden. Lizenziert ist das Projekt unter der Apache-Lizenz in der Version 2.

Realtek WLAN-Chip RTL8723de unter Ubuntu aktivieren

Wer sich in letzter Zeit ein Notebook mit dem WLAN-Chip RTL8723de von Realtek gekauft hat, der wird in die Röhre geschaut haben, sobald er versucht hat diesen unter Linux zum laufen zu bekommen. Nun gibt es allerdings seit einigen Tagen einen funktionsfähigen Treiber für Linux für eben diesen Chipsatz.

Ein HP-Notebook mit dem entsprechendem WLAN-Chip von Reaktek

Um diesen Treiber zu nutzen ist ein wenig Handarbeit nötig, da der Treiber noch nicht im Linux-Kernel vorhanden ist. Im ersten Schritt muss der Quelltext auf dem betreffenden Rechner kopiert werden. Dazu wird ein Terminal geöffnet und dort per Git das Repository mit dem Treiber bezogen:

git clone https://github.com/smlinux/rtl8723de.git

Anschließend wechseln wir in den Ordner und kompilieren den Treiber:

cd rtl8723de
make

Nun muss der Treiber nur noch installiert werden:

sudo make install

Nach einem Neustart ist der Treiber einsatzbereit und das WLAN kann genutzt werden.