Datenhaufen zu IT und Elektronik.

Autor: Sebastian van de Meer (Seite 24 von 49)

Notebook Akku def.

Das ist doch nicht zu glauben 🙁 Mein Notebook Akku ist im Eimer!

Für einen passenden neuen muss ich knapp 100/120€ auf den Tisch legen. Klar, irgendwann gibt ein Akku halt mal auf… Nur dieser hat besonders schnell aufgegeben. Nach knapp 2,5 Jahren ist er nun tot. Die letzten haben im Schnitt 3 – 4 Jahre bei mir gehalten. Meine Art mit den Notebook zu arbeiten ist dabei fast unverändert. Na ja, der Stromverbrauch ist denn noch nicht ohne, daher mache ich dem Akku mal keinen Vorwurf. Große CPU, viel Speicher, zwei Festplatten, 17″ (ja, ich renne mit so einem riesigen Schläptop herum).

 

[kernel@errorlap:~]$ acpiconf -i 0
Design capacity:        5200 mWh
Last full capacity:     2093 mWh
Technology:             primary (non-rechargeable)
Design voltage:         14800 mV
Capacity (warn):        0 mWh
Capacity (low):         0 mWh
Low/warn granularity:   100 mWh
Warn/full granularity:  0 mWh
Model number:           BAT0
Serial number:          123456789
Type:                   LiON
OEM info:               PTL
State:                  high 
Remaining capacity:     97%
Remaining time:         unknown
Present rate:           0 mW
Present voltage:        16403 mV

 

In diesem Sinne… Werde ich wohl mal einen Ersatzakku bestellen, oder gleich ein neues Notebook? Ach ich bin da noch etwas unschlüssig. Das Gerät selbst ist noch ganz gut, hat aber schon einiges geleistet…

Kein Jabber/XMPP mehr ohne Transportverschlüsselung

Hallo zusammen,

wie ja bereits vor einiger Zeit angekündigt, habe ich heute TLS als Transportverschlüsselung zwischen den Server to Server Verbindungen erzwungen. Für die Clients s2c besteht dieser Zwang bereits seit langem, nun also auch für die Verbindungen zwischen der Server.

Ich habe mir natürlich vorher die Mühe gemacht, andere Serverbetreiber anzuschreiben, wenn ich zu ihnen keine verschlüsselte s2s Verbindung aufbauen konnte. Ein paar sind aktiv geworden, ein paar nicht. Die Anzahl der nicht verschlüsselten s2s Verbindungen ist denn noch verschwindend gering! Ich habe diese Verbindungen also hiermit bewusst „abgehängt“.

Sollte ihr also aktuell Probleme mit der Verbindung zu oder von meinem System haben, bitte einfach melden!

So long…

IP Reverse Map Delegation: Einrichtung und Fehlerbehebung

Um zu verstehen was mit reverse map delegation von IPv4 und IPv6 Adressen nach RFC 2317 (http://tools.ietf.org/html/rfc2317) gemeint ist, hilft es zu verstehen warum man es überhaupt braucht. Daher versuche ich mit meiner kurzen Erklärung damit zu starten….

Wenn man in der „guten alten Zeit“ des Internets ein paar öffentliche IPv4 Adresse brauchte, ging man zu seiner RIR und bekam ein /24 in die Hand.

Als Beispiel: 1.2.3.0/24 also mit der Netzmaske 255.255.255.0

So hatte man ein Netz mit 256 Adressen. Wenn man nun in seinem DNS eine Zone für die PTR-Records anlegen wollte, war es kein Problem. Man konnte ja ohne große Probleme die Zone 3.2.1.in-addr.arpa. anlegen und die Zone konnte alle 256 Adressen beinhalten und beantworten.

Inzwischen sind die IPv4 Adresse aber knapp, oder sagen wir besser… verbraucht! Man bekommt, wenn überhaupt, nur noch so viele, wie man auch gut begründen kann 🙂

Als Beispiel: 1.2.3.0/29 also mit der Netzmaske 255.255.255.248

So hat man ein kleines Netz mit 8 Adressen. Will man nun in seinem DNS eine Zone für die PTR-Records anlegen gibt es ein Problem. Denn im DNS macht man die einzelnen Domains, Subdomains usw. am Punkt fest!

Als Beispiel: www.kernel-error.de.

de ist dabei die Subdomain von der Root-Domain (.)
kernel-error ist demnach die Subdomain der TLD (de)
www ist nun die Subdomain/Hostadresse von (kernel-error)

Möchte ich also eine Zone für ein IP Netz mit der Netzmaske /24 – 255.255.255.0 anlegen, ist ein kein Problem da ich ja einfach den letzten Punkt als Trenner für meine DNS-Zone nutzen kann. Alle 256 möglichen IPv4 Adressen würden dann von dieser Zone bedient werden können. Bei einem /29 habe ich aber keine Möglichkeit die Zone auf die 8 möglichen IP-Adressen zu beschränken…

Natürlich könnte ich nun denn noch eine Zone anlegen, wie auch bei einem /24 und halt nur meine 8 IP-Adressen (6 Hostadressen). Dann gibt es aber zwei Probleme! 1. Dieser DNS Server würde sich auch für die anderen Adressen zuständig fühlen und falsche Antworten liefern. 2. Wird ein Netz vergeben muss dort auch ein zuständiger DNS Server für das Netz eingetragen werden. Ihr seht schon… das wird nix!

Was macht man also? Ganz einfach und sicher vielen bereits bekannt… Der Provider/Hoster oder oder übernimmt die DNS-Zone für das Netz. Seine Kunden müssen also alle Wünsche über die zu setzenden RECORDS bei diesem anfragen oder über ein Webinterface eintragen. Dieses ist ein gangbarer Weg… Leider ist es hin und wieder etwas zu unflexibel und/oder zu zeitintensive. Ebenso gibt es ja Menschen die ihren DNS-Server gerne selbst unter Kontrolle haben, richtig?

Genau hier kommt dieses reverse map delegation ins Spiel. Zwar ist der im Netz eingetragene DNS Server noch immer der vom Provider… Dieser setzt aber keinen echten Hostename mehr zu den einzelnen IP Adressen, sondern einen CNAME zu einem in der DNS Domain des Kunden. So kann der Kunde die „PTR-RECORDS“ für seine IP Adressen über einen kleinen Umweg denn noch selbst setzten. Das ist schon die ganze Magie hinter diesem Begriff….

Wie sieht es nun in der Praxis aus? Ich bleibe bei meinem Beispiel des Netzes 1.2.3.0/29 und beschreibe wie ich es in er Regel einrichte….

Die Zone des /24 würde damit wie folgt aussehen:

$ORIGIN 3.2.1.in-addr.arpa.
$TTL 1D
@ 1D IN SOA ns1.kernel-error.de. hostmaster.kernel-error.de. (
              2014101701      ; serial
              6H              ; refresh
              30M             ; retry
              2W              ; expiry
              1D )            ; minimum

            IN NS  ns1.kernel-error.de.
            IN NS  ns2.kernel-error.org.

0/29        IN NS    ns1.vandemeer.de.
0/29        IN NS    ns2.vandemeer.de.
0           IN CNAME 0.0/29.3.2.1.in-addr.arpa.
1           IN CNAME 1.0/29.3.2.1.in-addr.arpa.
2           IN CNAME 2.0/29.3.2.1.in-addr.arpa.
3           IN CNAME 3.0/29.3.2.1.in-addr.arpa.
4           IN CNAME 4.0/29.3.2.1.in-addr.arpa.
5           IN CNAME 5.0/29.3.2.1.in-addr.arpa.
6           IN CNAME 6.0/29.3.2.1.in-addr.arpa.
7           IN CNAME 7.0/29.3.2.1.in-addr.arpa.

Wie zu erkennen, ist die Zone zuständig für 1.2.3.0-255… Die DNS Server sind dabei (ns1.kernel-error.de und n2.kernle-error.org). Das erste /29 aus diesem /24 gehört dem Kunden hinter der Domain vandemeer.de. Es wird also eine „Subdomain“ angelegt mit dem Namen 0/29. Die 0 steht dabei für die Netzadresse des Netzes und die 29 für die CIDR Suffix. Diese „Subdomain“ wird von den DNS Servern ns1.vandemeer.de und ns2.vandemeer.de bedient. Damit nun alle angefragten PTR-RECORDS für dieses Netz auch an den DNS-Server des Kunden weiter gehen, muss für jede IP Adresse ein CNAME für eine Adresse in der neuen Zone des Kunden erstellt werden.

Für die IPv4-Adresse 1.2.3.4 wäre es also:

4           IN CNAME 4.0/29.3.2.1.in-addr.arpa.

Eine Abfrage mit dig würde jetzt bereits folgende Antwort liefern:

$ dig -x 1.2.3.4

; <<>> DiG 9.10.1 <<>> -x 1.2.3.4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47287
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;4.3.2.1.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
4.3.2.1.in-addr.arpa. 10799 IN    CNAME   4.0/29.3.2.1.in-addr.arpa.

;; Query time: 103 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Fr Okt 17 10:59:19 CEST 2014
;; MSG SIZE  rcvd: 106

Jetzt kann der Kunde auf seinem DNS Server die folgende PTR-Zone einrichten:

$ORIGIN 0/29.3.2.1.in-addr.arpa.
$TTL 1D
@ 1D IN SOA ns1.vandemeer.de. hostmaster.vandemeer.de. (
              2014101701      ; serial
              6H              ; refresh
              30M             ; retry
              2W              ; expiry
              1D )            ; minimum

            IN NS  ns1.vandemeer.de.
            IN NS  ns2.vandemeer.de.

0           IN PTR netzadresse.vandemeer.de.
1           IN PTR router.vandemeer.de.
2           IN PTR mailin.vandemeer.de.
3           IN PTR imap.vandemeer.de.
4           IN PTR webserver.vandemeer.de.
5           IN PTR frei.vandemeer.de.
6           IN PTR frei.vandemeer.de.
7           IN PTR broadcastadresse.vandemeer.de.

Startet man nun die gleiche dig Abfrage, bekommt man die vollständige und gewünschte Antwort:

$ dig -x 1.2.3.4

; <<>> DiG 9.10.1 <<>> -x 1.2.3.4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47287
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;4.3.2.1.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
4.3.2.1.in-addr.arpa. 10799 IN    CNAME   4.0/29.3.2.1.in-addr.arpa.
4.0/29.3.2.1.in-addr.arpa. 14399 IN PTR  webserver.vandemeer.de.

;; Query time: 103 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Fr Okt 17 10:59:19 CEST 2014
;; MSG SIZE  rcvd: 106

Es klingt und sieht also mal wieder komplizierter aus als es ist!

Probleme?

Ja es gibt auch Probleme! Wäre ja zu schön, wenn nicht 😀

Laut RFC darf ein PTR-Record eigentlich kein CNAME sein. Nur halt für diesen speziellen Fall! Das RFC ist nun von 1998… Denn noch scheint es sich nicht sonderlich „herumgesprochen“ zu haben. Ich möchte damit sagen, dass es immer mal wieder bei Problemen dazu kommen kann, dass man seinem Gegenüber zuerst das RFC 2317 erklären muss, bevor es weiter geht 🙂

Ebenfalls macht Postfix ärger, wenn man folgende smtpd restrictions gesetzt hat: reject_unknown_client

Denn diese prüft ob helo / PTR und A/AAAA zueinander passen. Nutzt man reverse map delegation, werden diese nicht zueinander passen!

Oct  17 10:00:00 mx30 postfix/smtp[54786]: FFCC569824: host mx.example.org[4.5.6.7] said: 450 4.1.7 <super@maildomain.de>: Sender address rejected: unverified address: host mail.rennboot.de[3.4.5.6] said: 450 4.7.1 Client host rejected: cannot find your hostname, [4.5.6.7] (in reply to RCPT TO command) (in reply to RCPT TO command)

Betreibt man also einen größeren Mailserver, vermeidet es Arbeit und Ärger, wenn man auf dieser IPv4 Adresse kein reverse map delegation einsetzt.

Tja… Fragen? Dann wie immer: fragen! 😀

SSLv3 ist tot…

Nein, ich habe es nicht überlesen 🙂 SSLv3 ist damit wohl hoffentlich tot!

Es ist ja nicht so als wenn man nicht schon davor gewarnt hätte 😛 Oh was hat diese Meldung bei mir für gute Laune geführt! Wieder mal ein richtiger „Told you so“ Moment für mich.

Oh ja, was zum Lesen gefällig?

http://googleonlinesecurity.blogspot.ru/2014/10/this-poodle-bites-exploiting-ssl-30.htmlhttps://www.openssl.org/~bodo/ssl-poodle.pdf

Bäääähhhhmmmm! Das schreit nach einem GIF!

Auf die schnell böse Dinge deaktivieren…

Postfix:

smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_ciphers=high
tls_high_cipherlist=EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA

Dovecot:

ssl_cipher_list = ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4
ssl_protocols = !SSLv2 !SSLv3

Apache2:

SSLEngine on
SSLProtocol +ALL -SSLv3 -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4
SSLCompression off
Header always set Strict-Transport-Security "max-age=15552000"

Linux Backintime Datensicherung / Backup

Kaum schreibe ich etwas zur Datensicherung meines FreeBSD Notebooks, schon kommt die Frage, wie ich einen/meinen Linux Desktop sichern würde….

Um es kurz zu machen, ich nutze dazu seit langem bereits das Programm backintime. Es arbeitet mit rsync und hardlinks ebenfalls bietet es die Möglichkeit seine Sicherungen auf alle möglichen Ziele zu schieben, so auch per SSH nach irgendwo.

Wer rsnapshot für Unix Server kennt… Es ist so ähnlich nur bei Bedarf mit GUI. Zusätzlich lässt sich noch schnell und einfach etwas Krypto ins Spiel bringen. Die Datensicherungen lassen sich so sehr schnell und vor allem einfach erstellen und wiederherstellen. Probiert es einfach mal!

Fragen? Dann fragen 🙂

Raspberry Pi als Radiosender: Schritt-für-Schritt-Anleitung

Kinder sind etwas Wunderbares, so auch meine beiden. Die größere hört zum Einschlafen gerne ein Hörspiel und beim Spielen hören und tanzen beide gerne zu etwas Kindermusik. Klar haben sie eine kleine Kompaktanlage in ihrem Kinderzimmer…. Jetzt gibt es Kinderhörspiele und oder Musik aber kaum noch auf einer Kassette, sondern fast nur noch auf CD oder gleich als MP3. Keine Ahnung wie es bei euren Kindern ist, bei uns leben CDs nicht sonderlich lange. Ich grille also in der Woche 3 bis 4 CDs. Viel schlimmer ist aber, wenn die Lieblingscd nach 38Minuten Spielzeit plötzlich an eine Stelle mit Kratzer gelangt und beginnt unverständlichen Lärm zu machen!

Es muss also eine Lösung her:

Ich habe hier noch den einen oder anderen Raspberry PI „herumliegen“. Warum also nicht diesen zusammen mit dem MPD einfach als kleinen Musikspieler nutzen? Die gekauften MP3-Alben liegen eh alle auf dem kleinen Server und können per NFS gemountet werden. WLAN ist im ganzen Haus und wir Eltern können mit einer Android-App alles schnell und bequem steuern. Was soll ich sagen? Das Projekt war innerhalb von 1,5h erledigt, getestet und von den Kindern abgenommen.

Nun fristet der CD-Spieler im Kinderzimmer ein eher trostloses und vor allem ungenutztes Leben. Nur das Radio läuft hin und wieder am Abend für die WDR5 Bärenbude. Radio….. Irgendwo habe ich doch im Zusammenhang mit dem Raspberry PI etwas zu FM Radio gelesen! Es gibt ein kleines Stück python Software; PIFM! Es ist in der Lage einen WAV-Stream über Pin 4 des Raspberry PI oder besser über eine ca. 15cm lange Antenne/Kabel, welches an Pin 4 des Raspberry PI angeschossen ist; in die Welt zu „funken“. So das man es über ein einfaches Radio empfangen kann. Ein neues Projekt? Japp genau!!!

Um das Radiosignal des Raspberry PI etwas zu verstärken und zu filtern habe ich eine kleine Schaltung genutzt. Für Web-Streams (mpd kann ja auch streamen) nutze ich sox, welches seine Ausgabe direkt in das kleine Python-Progrämmchen schiebt. So würde nun also auch das Radio meiner Kinder wieder eine Aufgabe finden, wenn dieses so in Deutschland nur zulässig wäre. Den in Deutschland darf man zwar auf den Radio-Frequenzen senden… Leider nur mit einer so geringen Stärke, dass man so nur knapp einen Meter überbrücken kann. Die Schaltung zusammen mit dem Raspberry PI reicht aber schon für das Haus inkl. Garten. Diese Version bleibt also nur ein einmaliger Versuchsaufbau.

Dabei wäre es so schön gewesen, denn der Kinderradiosender KiRaKa des WDR ist nur per DAB+ zu empfangen. Oder halt als Stream aus dem Internet. Dieser würde sich also mit dem Raspberry PI einfach als FM Signal funken und empfangen lassen. So könnten die Kinder im ganzen Haus und Garten immer KiRaKa hören. Schade dass es nicht geht, oder?

Hier ein paar Bilder vom PIFM Projekt…

Fragen? Dann fragen 🙂

Parallel SSH

Immer mal wieder kommt es vor, dass man auf mehreren Systemen eine Kleinigkeit ändern muss. So zum Beispiel den Besitzer eines Scriptes oder ähnliches. Bei 5 oder 6 Servern ist dieses noch schnell gemacht, ab einer gewissen Menge wird es wiederum sehr zeitaufwendig. Selbst Systeme wie Puppet oder Chef sind hier nicht immer hilfreich und für so etwas wie die Änderung des Besitzers einer Datei; schießt man schon etwas mit Kanonen auf Spatzen.

Ich nutze dafür seit einigen Jahren pssh (Parallel ssh). Es ist aus meiner Sicht perfekt für kleinere Bash-Einzeiler, welche auf vielen Systemen ausgeführt werden müssen.

Ich möchte es hier am angesprochenen Beispiel der Besitzänderung eines Scriptes vorstellen. Folgende Aufgaben müssen dabei erledigt werden:

1. Login per SSH auf dem jeweiligen Server.
2. Änderung des Besitzers und der Gruppe des Scriptes: /home/aglp02/del_import_sync.sh.
3. Anhand von ls -ls prüfen ob die Änderung angekommen ist.
4. Logout und wegspeichern der Bash Ausgabe.

pssh setzt dabei funktionsfähiges SSH sowie den ssh-agent voraus. Wer nicht sicher ist ob es arbeitet:

$ ssh-agent && ssh-add

Für die Installation von pssh wird python sowie die setup-tools benötig. Sind diese Da ist die Installation schnell erledigt mit:

$ wget http://www.theether.org/pssh/pssh-1.4.3.tar.gz
$ tar xvzf pssh-1.4.3.tar.gz
$ cd pssh-1.4.3.tar.gz
$ sudo python setup.py install

Ich erstelle mir immer im Home meines Users den Ordner pssh und dort viele Textdateien in welche ich die jeweiligen Server gruppiere. So muss ich nicht mal mehr darüber nachdenken wenn ich ein Kommando auf einer gewissen Gruppe von Server ausführen will (alle Webserver / alle Mailserver / alle Applikationserver / alle Server an einem Standort / usw…).

In meinem Beispiel geht es um alle Applikationserver in Berlin und damit sieht meine Gruppendatei wie folgt aus:

$ cat /home/kernel/pssh/srv.aps.ber.txt 
srv.aps01.ber
srv.aps02.ber
srv.aps03.ber
srv.aps04.ber
srv.aps05.ber
srv.aps06.ber
srv.aps07.ber
srv.aps08.ber
srv.aps09.ber
srv.aps10.ber
srv.aps11.ber
srv.aps12.ber
srv.aps13.ber
srv.aps14.ber
srv.aps15.ber
srv.aps16.ber
srv.aps17.ber
srv.aps18.ber
srv.aps19.ber
srv.aps20.ber
srv.aps21.ber

Damit kann ich auch schon mein Kommando absetzten. Ich erkläre den Aufbau weiter unten.

$ pssh -h srv.aps.ber.txt -l root -o /home/kernel/pssh/out-`date +"%m-%d-%y_%H:%M:%S"` "chown aglp02:aglp02 /home/aglp02/del_import_sync.sh; ls -la /home/aglp02/del_import_sync.sh;"
[1] 10:17:35 [SUCCESS] srv.aps17.ber 22
[2] 10:17:35 [SUCCESS] srv.aps03.ber 22
[3] 10:17:35 [SUCCESS] srv.aps01.ber 22
[4] 10:17:36 [SUCCESS] srv.aps12.ber 22
[5] 10:17:36 [SUCCESS] srv.aps04.ber 22
[6] 10:17:36 [SUCCESS] srv.aps16.ber 22
[7] 10:17:36 [SUCCESS] srv.aps08.ber 22
[8] 10:17:36 [SUCCESS] srv.aps15.ber 22
[9] 10:17:36 [SUCCESS] srv.aps05.ber 22
[10] 10:17:36 [SUCCESS] srv.aps09.ber 22
[11] 10:17:36 [SUCCESS] srv.aps20.ber 22
[12] 10:17:36 [SUCCESS] srv.aps10.ber 22
[13] 10:17:36 [SUCCESS] srv.aps11.ber 22
[14] 10:17:36 [SUCCESS] srv.aps21.ber 22
[15] 10:17:36 [SUCCESS] srv.aps07.ber 22
[16] 10:17:36 [SUCCESS] srv.aps19.ber 22
[17] 10:17:36 [SUCCESS] srv.aps02.ber 22
[18] 10:17:37 [SUCCESS] srv.aps13.ber 22
[19] 10:17:37 [SUCCESS] srv.aps06.ber 22
[20] 10:17:37 [SUCCESS] srv.aps14.ber 22
[21] 10:17:37 [SUCCESS] srv.aps18.ber 22

-h gibt die zu verwendente Datei mit den Hosts an.
-l Benutzername für den Login auf dem Server.
-o Ordner für die Bash-Ausgabe der einzelnen Server. Landet bei mir immer pssh-Ordner. Ich lasse mir dabei gerne einen Unterordner erstellen, welche das aktuelle Datum und die aktuelle Uhrzeit enthält. So kann ich die Ausgaben besser zuordnen.
Das/die auszuführenden Bash-Commands.

Als Antwort erhalte ich dann auf welchem Server dieses Kommando ausgeführt wurde. Dabei sieht man recht schön, dass die Hosts nicht nach der Reihe abgearbeitet werden, sondern gleichzeitig.

Die einzelnen „Logdateien“ der Bash-Ausgaben, von den einzelnen Servern sollten nun wie folgt zu finden sein:

$ ls -la /home/kernel/pssh/out-09-22-14_10:17:35/
insgesamt 40
drwxr-xr-x 2 kernel kernel 4096 22. Sep 10:17 .
drwxr-xr-x 4 kernel kernel 4096 22. Sep 10:17 ..
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps01.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps02.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps03.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps04.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps05.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps06.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps07.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps08.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps09.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps10.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps11.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps12.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps13.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps14.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps15.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps16.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps17.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps18.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps19.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps20.ber
-rw-r--r-- 1 kernel kernel   73 22. Sep 10:17 srv.aps21.ber

Wir dürfen nun also in den einzelnen Files die Antwort auf das ls -la erwarten. Schauen wir mal rein:

$ cat /home/kernel/pssh/out-09-22-14_10:17:35/srv.aps01.ber
-rwxr-xr-x 1 aglp02 aglp02 1801 Jan 21  2009 /home/aglp02/del_import_sync.sh

So lässt sich nun kontrollieren ob alles sauber erledigt wurde oder ob ich noch irgendwo „ran“ muss.

Ist pssh also einmal vorbereitet lässt es sich wunderbar und schnell in seine Arbeit integrieren.

Viel Spaß…

Die ersten Zertifikate mit SHA-256 Checksumme und SNI

Auf meiner privaten Kisten sind nun die ersten Zertifikate mit SHA256 Checksumme aktiv. Zum ersten mal auch auf einer IPv4 per SNI. Damit habe ich nun zwar alle Windows XP User an der Stelle abgehängt… 2014 kann ich damit aber mehr als gut leben 😀

Gewarnt hatte ich ja bereits und inzwischen geht Google hier ja auch nach vorne: Google Browser Chrome wirft SHA1 Zertifikate weg…

Damit ist nun mein munin (https://munin.kernel-error.com/) und der ampache (https://ampache.kernel-error.com) nur noch über diesen Weg und mit diesen Zertifikaten erreichbar \o/

https://www.ssllabs.com/ssltest/analyze.html?d=ampache.kernel-error.com

https://www.ssllabs.com/ssltest/analyze.html?d=munin.kernel-error.com

So long…

« Ältere Beiträge Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑