Feb 26, 2016
Es ist schon wieder einige Zeit her, genauer gesagt schon mehr als ein
halbes Jahr ?, und das Jahr 2016 hat auch schon begonnen. Da ist ein
kurzes Lebenszeichen von mir wohl mehr als fällig. Kurz gesagt, ja ich
lebe noch. Auch habe ich die Lust an meinem Hobby und an alter Hardware
nicht verloren. Ich habe mich in der letzten Zeit intensiver mit der
Linux Kommandozeile auseinander gesetzt und bin dabei auch ein wenig in
die Shell-Programmierung mit der Bash eingestiegen. Kurzfristig hat das
dazu geführt, dass es hier ein wenig ruhiger geworden ist, allerdings
erhoffe ich mir langfristig ein grundlegenderes Verständnis von Linux
und der Kommandozeile, die ich dann hier in ausgewählte Artikel
einfließen lassen kann. Tatsächlich hatte ich insbesondere beim näheren
Betrachten der Shell schon einige AHA-Erlebnisse, die einen eigenen
Artikel wert sind. Aber nun zunächst die Nachrichten aus Hard- und
Software :-)
Hardware
So langsam spricht es sich in meinem Bekanntenkreis herum, was für ein
obskures Hobby ich so pflege :-) Netter Nebeneffekt ist, dass mir die
Leute nun ihre ausgediente Hardware vermachen, statt sie einfach zu
entsorgen. Das hat dazu geführt, dass ich nun über eine hübsche Sammlung
an alten Notebooks verfüge. Welche ich davon letztendlich behalten
werde, weiß ich jedoch noch nicht. Dabei hat sich vor allem das T43 als
mein rundum-sorglos-Laptop etabliert und einen festen Platz auf meinem
Schreibtisch bekommen. Aber auch die anderen Rechner gibt es natürlich
noch und funktionieren tadellos.
Des Weiteren habe ich meine Synology-NAS dieses Jahr durch ein selbst
zusammengestelltes System getauscht. Momentan läuft darauf
openmediavault und ich bin bisher sehr zufrieden.
Als kleiner, stomsparender Server läuft bei mir nach wie vor der
BananaPi. Seitdem ich dort jedoch mit Syncthing allerhand Daten
synchronisiere, geht dem Kleinen etwas die Puste aus. Wie gut, dass vor
kurzem der Oodroid-C2 von Hardkernel angkündigt wurde.
Software
Neben der Bash habe ich mich in letzter Zeit intensiver mit dem VIM
beschäftigt. Ich würde mich allerdings immer noch eher als
fortgeschrittenen Anfänger bezeichnen. Aber es ist schon erstaunlich,
was man alles mit diesem Editor machen kann; man muss sich nur die Mühe
machen, sich mit dem Vim intensiv zu beschäftigen. Ansonsten ist
softwaretechnisch alles beim alten geblieben. Ich versuche derzeit
lediglich zu den meisten Gui-Programmen ein Pendant für die Konsole zu
finden um noch etwas flexibler zu werden.
An Betriebssystemen dominieren derzeit bei mir vor allem Debian und
Archlinux. Als Desktopumgebung setze ich gerade Cinnamon ein, mit der
ich recht zufrieden bin, wenngleich sie auch nichts für schwache Rechner
ist. Spielt Ressourcenverbrauch eine Rolle, so ist nach wie vor openbox
meine erste Wahl. So setze ich auf dem T43 gerade Debian mit LXDE ein,
das auf dem mittlerweile 10 Jahre alten Thinkpad eine recht gute Figur
macht.
Ausblick für 2016
Konkrete Pläne für 2016 habe ich zwar nicht, ich möchte mich aber auf
jeden Fall noch mehr mit den Grundlagen von Linuxsystemen beschäftigen.
Aber natürlich möchte ich auch wieder mehr schreiben, schließlich ist
das hier ein Blog :-)
Apr 17, 2015
Es gibt so manche Dinge im Leben bei denen man sich fragt - wenn man sie
denn einmal herausgefunden hat - warum nicht gleich so? Eines dieser
Dinge ist bspw. eine eigene Konfigurationsdatei für ssh-Verbindungen.
Normalerweise sieht ein Login auf einem meiner Server nämlich so aus:
$ ssh -p 12345 -i ~/.ssh/server_key user@domain
Das ist vor allem immer eine elende Tipperei. Dabei geht es auch
einfacher, indem man das Ganze einfach in eine config-Datei schreibt und
in seinem Homeverzeichnis unter ~/.ssh/config ablegt:
Host Servername
HostName server.domain.de
Port 12345
User username
IdentityFile ~/.ssh/server_key
Danach kann man ganz einfach mit
sich zu seinem ssh-Server verbinden. Gerade wenn man mehrere
ssh-Verbindungen managen will (mit unterschiedlichen RSA-Keys) lohnt es
sich eine eigene Konfigurationsdatei anzulegen.
Richtig cool ist allerdings, dass man über ssh bestimmte Ports auf dem
Zielserver auf einen (nicht-privilegierten) Port auf dem lokalen Rechner
mappen kann. Ich kann also bspw. meinen internen Webserver der daheim
auf dem BananaPi zu administrativen Zwecken läuft auf einen beliebigen
Port meines Laptops mappen und so von außerhalb bequem darauf zugreifen.
Dazu muss man seine ~/.ssh/config nur wie folgt erweitern:
Host tunnel_zum_webserver
HostName server.domain.de
Port 12345
User username
IdentityFile ~/.ssh/server_key
LocalForward 4000 127.0.0.1:8080
Jetzt kann man mit
$ ssh -f -N tunnel_zum_webserver
eine einfache Verbindung zu seinem Webserver aufbauen und der ganze
Verkehr wird über ssh getunnelt :-)
Das ganze funktioniert nicht nur mit einem Webserver, sondern auch mit
allen anderen Diensten, die über das Netzwerk erreichbar sind, wie etwa
Samba-Freigaben oder ein MySQL-Server... :-)
Sep 19, 2014
Ich habe schon seit langer Zeit einen Umts-Stick (und zwar den Huawei
Surf Stick E 3131, der problemlos unter Linux funktioniert), der mich
auf Reisen mit Internet versorgt. Dazu bin ich Kunde bei Congstar, ein
Tochterunternehmen der Telekom AG. Das hat den Vorteil, dass man das
sehr gut ausgebaute D1-Netz nutzen kann und so auch in den entlegensten
Teilen Deutschlands noch eine recht gute Netzanbindung bekommt.
Hat man den Stick am Rechner angeschlossen, kann man das aktuelle
Verbrauchsguthaben relativ tagesaktuell über die Seite
"http://datapass.de" abrufen.
Jetzt wollte ich das Ganze gern automatisiert von einem Script erledigen
lassen, dass mir entweder "not connected" anzeigt, wenn der Stick nicht
angeschlossen ist oder aber eben das aktuell verbrauchte Datenvolumen.
Dazu habe ich mit meinen rudimentären Python-Kenntnissen dieses kleine
Script geschrieben (einfach kopieren und als xy.py abspeichern; über
Anregungen und Kommentare würde ich mich freuen :-) ).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 | #!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: Marcel Werner
# Mail: kontakt(at)kaffeejunkie.eu
# Web: http://www.kaffeejunkie.eu
# Date: 14.08.2014
# This little script gets the amount of used traffic-volume
# from the Telekom-Service-Website 'www.datapass.de'. It seems to be
# functional in combination with a Congstar/Telekom SIM-Card only.
# Begin
import os
import sys
import lxml.etree as et
import urllib2
# run 'lsusb' in terminal to determine vendor_id
vendor_id = "12d1"
usb_device_path = "/sys/bus/usb/devices/"
def check_usb_connection():
for subdirectory in os.listdir(usb_device_path):
cwd = os.path.join(usb_device_path, subdirectory)
try:
with open(cwd+"/idVendor", "r") as f:
for line in f:
if line.replace("\n","") == vendor_id:
return True
except IOError:
break
while check_usb_connection() == True:
try:
opener = urllib2.build_opener()
opener.addheaders =[('User-agent', 'Mozilla/5.0')]
url = opener.open('http://datapass.de')
root = et.fromstring(url.read())
used_traffic = root.find('.//span[@class="colored"]')
.text.encode('utf-8')
print used_traffic+" von 1 GB verbraucht"
break
except AttributeError:
break
except IOError:
break
else:
print "not connected"
|
Einbinden in Conky
Der Aufruf des Scripts aus Conky heraus geschieht über folgenden
Parameter, den man in die Datei .conkyrc im Home-Verzeichnis einträgt:
${execi 600 python ~/pfad_zum_script.py}
Die 600 ist der Wert in Sekunden, wann dieses Script immer wieder
ausgeführt wird; also alle 10 Minuten. Man sollte hier nicht einen zu
niedrigen Wert wählen, da ja jeder Seitenaufruf Traffic (wenn auch nur
ein paar KB) verursacht.
Jul 21, 2014
Seit letzter Zeit sehe ich in den WP-Logs vermehrt fehlgeschlagene
Loginversuche, zumeist mit einer IP aus Russland oder der Ukraine. Das
an sich ist noch nicht das beängstigende. Was mich vielmehr stutzig
gemacht hat, war die Tatsache, dass die Angreifer zum Teil meinen
richtigen Login-Namen kannten (nein, es ist nicht 'admin' :-)).
Meine erste Frage war natürlich woher? Und siehe da, wenn man auf den
Autor-Link in den Beiträgen klickt, steht in der Adressleiste der wahre
Login-Name obwohl als Autor-Alias eigentlich ein anderer Name vergeben
wurde. Das ist unschön...
Nach ein wenig googeln fand ich
diese
Lösung. Ich habe es entsprechend geändert und nun wird lediglich mein
Alias wieder angezeigt. So müssen Angreifer nun wieder zwei Faktoren
(Loginname und Passwort) erraten :-)
Am Beliebtesten scheinen übrigens Logins wie 'root', 'test' oder 'admin'
zu sein :-)