E-Mail bei neuer SSH Verbindung senden

Ich habe gerne einen Überblick darüber wann eine SSH Verbindung auf einen Server aufgebaut wird. Deshalb lasse ich mir bei jeder neuen Verbindung eine E-Mail-Benachrichtigung schicken. Unter Ubuntu Linux 16.04 und anderen auf Debian basierten Linux Distributionen wird PAM (Pluggable Authentication Modules) zum Authentifizieren von Benutzern verwendet. Dies kann relativ einfach so konfiguriert werden, dass bei einer neuen SSH Verbindung ein bestimmtes Skript aufgerufen wird, welches dann eine E-Mail-Benachrichtigung versendet. In diesem Beitrag beschreibe ich, wie PAM so konfiguriert werden und ein Skript zum Versenden der E-Mail-Benachrichtigungen aussehen kann.

Weiterlesen

Unter Ubuntu und Windows Bilddateien in PDF wandeln

Ich möchte öfters gescannte Dokumente (z.B. im JPG-Format) nach dem Bearbeiten (zuschneiden, rotieren etc.) als PDF speichern. Unter Linux kann dies einfach mit dem convert Befehl erledigt werden. Der Befehl erlaubt es auch mehrere Dateien in einem PDF zusammen zuführen mit einem Dokument pro Seite. Der Befehl wird unter Ubuntu Linux 16.04 von dem Paket imagemagick bereitgestellt und funktioniert auch im Windows Subsystem for Linux. Auch die meisten anderen Linux Distributionen bieten ein Paket an, welches den Befehl bereistellt. In diesem Beitrag beschreibe ich wie man das Paket unter Ubuntu Linux 16.04 installiert sowie die grundlegenden Befehle.

Weiterlesen

Einem Raspberry Pi mit Raspbian Jessie Lite oder Raspbian Stretch Lite eine Statische IP-Adresse zuweisen

Wenn ein Raspberry Pi beispielsweise als VPN Server verwendet werden soll, ist es sinnvoll ihm im lokalen Netzwerk eine feste IP-Adresse zu geben. So ist sichergestellt, dass er immer die gleiche IP-Adresse hat, auf welche der Port weitergeleitet wird.

Raspbian basiert auf Debian. Daher ist auch in Raspbian standardmäßig der DHCP Client Daemon (DHCPCD) aktiviert, welcher die IP-Adresse zuweist. Um eine Feste IP-Adresse zuzuweisen muss nur die Datei /etc/dhcpcd.conf angepasst werden. Diese einfach als root öffnen.

$ sudo nano /etc/dhcpcd.conf

In der Konfigurationsdatei muss am Ende die feste IP-Adresse definiert werden. Für Ethernet sind die Zeilen 2-8 und für WLAN die Zeilen 10-16 im Beispiel relevant.

  • Interface definiert die Netzwerkschnittstelle für welche die IP-Adresse festgelegt wird (eth0 = Ethernet, wifi0 = WLAN)
  • static ip_address legt die gewünschte IP-Adresse fest. Die /24 am Ende muss stehen bleiben, da sie die Subnet Maske definiert (/24 ist äquivalent zu 255.255.255.0).
  • static routers ist die IP-Adresse des Gateways (normalerweise der Router)
  • static domain_name_servers ist die IP-Adresse des DNS Servers (normalerweise der Router)
[...]
# Static IP-Address for Ethernet

interface eth0

static ip_address=192.168.10.42/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.1

# Static IP-Address for WiFi

interface wlan0

static ip_address=192.168.10.43/24
static routers=192.168.10.1
static domain_name_servers=192.168.10.1

Nach dem Ändern muss der Raspberry Pi einmal neu gestartet werden, damit die Änderungen in Kraft treten.

$ sudo reboot

Anschließend können über die neu festgelegte IP-Adresse Verbindungen zum Raspberry Pi aufgebaut werden.

SSH Authentifizierung mittels Public-Keys

Authentifizierung über Public Keys ist die Bezeichnung dafür, dass für das Anmelden an einem SSH Server kein Passwort, sondern ein Kryptographischer Schlüssel verwendet wird, welcher lokal auf dem PC gespeichert ist. Die dazu verwendeten Schlüssel bestehen aus zwei Teilen, einem öffentlichen und einem privaten Teil. Der öffentliche Teil ist kein Geheimnis und wird z.B. auch auf dem Server abgelegt. An Angreifer, welcher in Besitz dieses öffentlichen Teils des Schlüssels gelangt, kann nichts damit anstellen. Der private Teil hingegen muss immer sicher gespeichert und darf nicht weitergegeben werden. Mit ihm ist es möglich sich am Server anzumelden.

Weiterlesen