Archiv nach Monaten: Mai 2015

[Howto] Authentifizierung über SSH-Keys

Die Vorteile von SSH-Keys sind (in der Reihenfolge) Sicherheit und Bequemlichkeit.

Sicherheit

Es gibt keine 100% sicheren Kennwörter …
Kennwörter können erraten werden, ausspioniert oder stur durch Bruteforce ausgetestet werden.

Die Umstellung auf das Public-Key-Verfahren stellt sicher, das derjenige welcher sich anmeldet zumindest über ein speziellen privat-Key verfügt. Dieser liegt im Allgemeinen in Form einer Datei vor und sollte UNDBEDINGT mit einem Kennwort abgesichert werden. Also sichern wir nicht mehr unseren Server mit Kennwörter, sondern unser privat-Key.

Bequemlichleit

Admins und andere Büro-Insassen kennen das Problem, am Tag x-mal das Kennwort eintippen zu müssen. Zumindest bei Linux-Administration kann man sich hier eine Menge Frust ersparen, wenn man mit dem Public-Key-Verfahren arbeitet. Im Prinzip entsperrt man einmalig den privat-Key und authentifiziert sichanschließend nur noch über seinen Public-Key.

Grundlagen

Um dieses Verfahren zu verstehen benötigen wir einige Grundlagen.
Es gibt 2 Sorten von Keys, welche folgende Merkmale besitzen:

  • privat-Key
    • nur lokal speichern!
    • nicht weitergeben!
    • mit Kennwort schützen (Ausnahme automatisierung, zB. Backups)
  • public-Key
    • wird Serverseitig in die ~/.ssh/authorized_keys eingetragen
    • kann beliebig weitergegeben werden

Tipp: Schlüsseldateien generell sprechend benennen! zB. meinkey.pub.key, und meinkey.priv.key … Nicht das man public und privat key verwechselt

 

SSH-Keys generieren

Windows

Eine recht schöne Anleitung findet man auf der Webseite von winscp.
Lasst euch nicht vom Tool irritieren, auch winscp kann sich über SSH-Keys authentifizieren….

 

 

 

[Script] NAS automatisch herunterfahren wenn keine Zugriffe

Ich betreibe zuhause einen alten Desktop-PC mit openmediavault als NAS-System.
Da die NAS nicht permanent benötigt wird, ist aktuell die Lösung das die NAS bei Bedarf per Power-Knopf eingeschaltet wird, und automatisch herunterfährt, wenn X Minuten kein Zugriff erfolgt.

Hier das Script welches prüft ob noch Zugriffe erfolgen (per cronjob alle 5min ausführen!)

#!/bin/bash
COUNTFILE=/tmp/count.txt

if [ ! -f $COUNTFILE ]; then echo "0" >$COUNTFILE; fi

if [ $(lsof -i tcp | grep -v "LISTEN" | grep -v "sshd" | tail -n +2 | wc -l) -le 1 ]; then
        # Loop goes here
        # Fetch the value and increase it
        COUNTER=$(($(cat $COUNTFILE) + 1))
        # Write counter into tempfile
        echo $COUNTER > $COUNTFILE

	# Nach 12 durchläufen ( Cronjob alle 5 min entspricht 1h)
        if [ $COUNTER -gt 12 ]; then
                echo "0" >$COUNTFILE
                init 6
        fi
else
        echo "0" >$COUNTFILE
fi

Tipp: Sehr angenehm ist das aktustische Signal beim starten und herunterfahren (Tüdelütü).
Standart bei openmediavault.