Datenhaufen zu IT und Elektronik.

Kategorie: Tools & Software-Tipps (Seite 4 von 7)

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ß…

Mosh – mobile shell

Langsame SSH Verbindungen sind nicht nur nervig, sie regen mich auf und reizen mich unnötig. Ich werde verrückt, wenn ich etwas in ein Terminal tippe und versetzt eine Rückmeldung über meine Eingaben bekomme. Und wehe man hat sich vertippt.

Besonders wenn man „mal eben“ unterwegs die Welt retten muss und das Terminal hängt oder durch die wechselnde IP Adresse am mobilen Client gleich die ganze Verbindung gekillt wird.

OK, gegen die gekillte Verbindung hilft screen und gegen Vertipper, aufpassen und der Umweg über ein Textfile (copy & paste). Beides sind Notnägel, nicht wirklich dafür gedacht und nicht DIE Lösung.

Vor kurzem hatte ich das Problem auf einigen, weit entfernten, Systemen arbeiten zu müssen. Auf dem Weg dort hin hatte ich leider mit 60 – 80% Paketverlust zu kämpfen. So ist natürlich kaum ein Arbeiten möglich. Glücklicherweise erinnerte ich mich daran mal etwas von Mosh gelesen zu haben. Mosh ist ein sehr guter Name, denn er ist in meinem Hirn hängen geblieben.

Ich bin so begeistert von dem Programm, dass ich es einfach einmal kurz verlinken muss.
https://mosh.mit.edu/

Es lässt sich grob bedienen wie ssh, muss auf dem Client und dem Server installiert sein und arbeitet am Ende mit UDP Paketen. UDP?!?!? Japp UDP…. Genau erlesen kann man es auf der Webseite vom Projekt und dort werden direkt ein paar Bedenken erschlagen hinsichtlich Verschlüsselung und Konsistenz.

Auf meinen Arbeitsplätzen gehört es in jedem Fall ab jetzt zur standard Ausstattung.

So long….

DAS Keyboard

Es soll Menschen geben welchen nur das Wort: „Bekloppt“ einfällt wenn es im Zusammenhang mit mir um das Thema Tastatur geht. Zugegeben; es könnte ein Funken Wahrheit an dieser Behauptung sein. Denn noch möchte ich mich erklären.

Angefangen hat es, wie wohl bei vielen, bei mir mit dem IBM Model M. Eine wunderbare Tastatur… Es schreibt sich einfach klasse auf diesem Model, sie hat einen ganz eigenen Sound und man fühlt das Tippen einfach. Leider ist zuletzt nur noch ein PS2 Model entwickelt worden. Nun gibt es USB/PS2 Adapter, da die Tastatur etwas mehr Strom verbraucht als „normale“ PS/2 Tastaturen, sterben diese Adapter schon mal gerne, wenn man z.B. die NUM-Taste aktiviert. Lösung wäre hier die LEDs aus der Tastatur zu nehmen oder ein USB-PS/2 Adapter mit externer Stromversorgung. Beides nicht so glücklich. Ebenfalls fehlt dieser Tastatur die Windows/Linux Taste.

http://de.wikipedia.org/wiki/IBM_Model_M

Gezwungen musste ich also eine neue Tastatur nutzen. Ich erinnere mich das ich schon beim Kauf der neuen Tastatur dem Verkäufer sehr auf die Nerven gegangen bin, da ich mich durch die Tastaturen probieren wollte. Zu dem Zeitpunkt war eine normale Tastatur bereits ein Wegwerfartikel. Selbst eine aus – seiner Sicht – gute Tastatur lag um die 60€ und war absolut ausreichend. Aus – meiner Sicht – waren alle diese Tastaturen überladen mit irgendwelchen Sondertasten und Funktionen, welche ich einfach nicht brauche. Taschenrechner öffnen, Suche öffnen, Play?!?! Ich will tippen 🙂

Ich kaufte eine Logitech Tastatur. Sie war… OK, wobei hier OK der Bruder von Scheiße ist. Ich wechselte zu Cherry, besser aber nicht richtig gut! Irgendwo hörte ich von einer Tastatur mit dem Namen: „das keyboard“. Der Preis war mit knapp 160€ schon heftig. Besonders da ich keine Möglichkeit hatte die Tastatur zu testen. Glücklicherweise kann man ja online Bestellungen innerhalb von zwei Wochen zurückschicken. Es wurde also „das keyboard“ in der Version 1.

http://www.xoxide.com/das-keyboard.html

Perfekt! Schöne Tastatur, tippt sich wunderbar, klingt auch wieder schön. Zwei kleine Probleme hatte sie denn noch…. Einmal die größe, ok die IBM war ähnlich groß, denn noch war es einfach nicht mehr so richtig zeitgemäß. Dann der Punkt dass ich ein Glas Dr Pepper Cola über die Tastatur gekippt habe. Also war diese Tastatur nach 2 Jahren schon wieder tot.

Dieses mal keine Experimente beim Neukauf. Daher wurde es das Model „Das Keyboard Model S Professional Clicky mit Cherry MX Blue Switches“. Es ist nicht so groß, hat noch immer einen feinen Sound und Tippt sich wunderbar 🙂 Mein Workspace @home ist damit gerettet.

http://www.getdigital.de/Das-Keyboard-Model-S-Professional.html

Jetzt brauche ich nur noch eine gute Lösung für die Arbeit. Hier hatte ich zuerst eine Logitechirgendwas. Bei dieser hatten die F-Tasten super wichtige Funktionen wie…. Play, Stop usw… O_o die echten F-Tasten konnte man nur zusammen mit der FN Taste erreichen. Als schnellen Ersatz gab es dann eine Logitech MK120. Auf dieser kann ich nicht schreiben. Tut mir leid, geht nicht. Ich habe es vier Tage versucht, geht nicht…. Nun habe ich meine alte Cherry mitgenommen. Das geht… Nun habe ich Zeit eine Lösung zu finden.

Etwas fehlt aber noch…. Das Linux Key Cap Bundle. Wer mir also etwas Gutes tun möchte:

http://shop.daskeyboard.com/collections/products/products/linux-key-cap-bundle-1 

Welche Tastatur nutzt ihr?

Pockethernet – Will haben Gerät!

Achtung, böser YouTube-Link!

Ich habe vor einiger Zeit ein „Will haben Gerät!“ gesehen… Bzw. den Prototyp eines solchen Gerätes. Zu dem Zeitpunkt wurde noch Geld für das Projekt gesammelt. Inzwischen ist die nötige Summe mehr als vorhanden und es geht seinen Weg… 

Das Teil nennt sich Pockethernet, ein Video gibt es unten und einen Link zum Projekt gibt es hier: http://pockethernet.com/

Klar wird es kaum mit einem guten Fluke Gerät mithalten können… Für viele kleine Tests scheint es aber mehr als ausreichend zu sein. Schaut einfach mal ins Video! Wer will es noch?

Kennwortgenerator

Bei mir ist mal wieder die Frage angekommen, wie man denn seine Kennwörter wählen sollte. Ich habe wieder auf das Programm pwgen hingewiesen. Das ist ein kleiner Password-Generator für die Bash/Konsole.

Warum ein Kennwort Generator? Nun ja, Software dieser Art hat aus meiner Sicht ein paar Vorteile…

So hindert man seinen eigenen Schweinehund daran immer das gleiche Kennwort zu benutzen. Das ist ja bekanntlich mehr als gefährlich, denn wenn bei irgendeinem Anbieter mal wieder ein Sicherheitsloch ausgenutzt wurde, ja dann ist das Kennwort schon in den „falschen Händen“, meist zusammen mit der E-Mail Adresse. Fast überall kann man sich mit der Kombination E-Mail Adresse/Kennwort anmelden. Ist es immer gleich, kann sich der Mensch mit den „falschen Händen“ direkt überall anmelden. Daher sollte es ein eigenes Kennwort für jeden Dienst geben. Dabei ist ein: SuperTollesKennwort.Dienstname besser als nichts… Nur so schlau dieses zu probieren ist im Zweifel der Mensch mit den „falschen Händen“ ebenfalls. Will man es auf die Spitze treiben legt man sogar für jeden Dienst eine eigene E-Mail Adresse an. Dann hat der Angreifer nicht nur kein einheitliches Kennwort, sondern auch keine einheitliche E-Mail Adresse. Zurück zu pwgen…

Als weiteren Vorteil sehe ich dass die erstellten Kennwörter „zufällig“ sind (es macht natürlich einen guten Kennwort Generator aus, dass er immer zufällige Kennwörter rechnet laughing). Einem selbst gehen schnell die Zufälle aus. Selbst wenn man immer nur auf der Tastatur hämmert, werden sie sich ähneln.

Zudem lässt sich pwgen gut in Scripten verwursten um direkt beim anlegen von Accounts schöne initiale Kennwörter zu generieren. Es wäre ja schön blöde immer die gleichen Kennwörter für neue Kunden zu vergeben. tongue-out

Nun wollen wir mal ein paar Kennwörter würfeln. Der folgende Aufruf sollte viele Kennwörter mit Groß-/Kleinschreibung, 8 Zeichen und Ziffern erstellen:

$ pwgen 
Puo7aone AG2aicho me0Ohn7t aiSeth7K aeb2Nah0 oGh1ohra iengahD0 ra4Aeboh
oNga5ooj doh0saeM eeMaiCo1 aeDoo8we IeXae1ah OoVael8h Soh7aera Ohnge6yi
aiH0quae ieSo7ohY noo4xe8E sheh5eeF uiChoh7e Aing2fae ieJii4to aeGu7tof
quooB9Be Ou1Onie4 Eeb9giep Chei8oob Yieh2yuz Naugh0be phai4aXe ohc7Ahw9
aiM0aiwo EiGhi9fu eiC2Xohk raiB0eu9 MuwuK5le Aicheew8 UDeo2eig xaig3Oph
kii0ER9E uKaig7uv ooha3Die Ahhoo5ba aTh7dook aeGh9mai Iewae8ig Shahye6s
Jieshie2 MooSa7th Tahj0dei tohb7Oto Ocahm7bi Ake5nah6 Boh7aung ThooV4ir
noo6Equ5 AhGhuz8i dotie8uN tae7Chai Mual8oaD ooP9IeQu aeg5Iido HahKie6u
Me8ahsei Ahg5ohpe Soh9ucol Eix1OoFa Ahleex9m ahch4Ahk Taev8Shi neu9Vei4
aiLoo5qu eiW2eiNg Zae8ooyu Eeng7koo ieZees1a tho1Chei bohh3ENe ooVeezu1
weeb4Ain daeMi8iR yohNg5iW Oogu1ac4 UFae3Fie kaiT5aak Wa6tie1u pheiw3Ye
Iyae4aef Shoh1aij pheong0K Toer8quu kohGu9Ta ceiChei0 iePh6she Taigh6mu
ooH0xair aGemai4i Zohdiah5 aesai2Oo uchohk7G ohxah9Oo AhJair1v thee6Io0
cah1kieG ieCh6cah Fi0aegeo ShiePee9 ooPafei2 oB4ohcho yoiPhu8I AiJ7beaM
Reexai7u AiCahj0s aePhai7E xaer6Uos ath4gi0U ieNgoo0i Ohfeech6 weet4Voo
iu8Dafis doo6Agee te7Hah7U oox3Eeri Eezas2th Eeyeer5g afiTah9K oot9aiCh
eiFaiNg9 Ooquahn9 jaiJah4z eo7oChai suph2Cau Tiebah1U uH0ohth0 uiS6iew0
Ej9iMee3 Phie4Ohh Iet7Aes1 pheiGh9r Jae3joh0 EiPh1iey Xo4Seejo ieque6Ci
booV4iex ieCae1Ee BaiMie8a waed6Fi1 Og5Ahth3 eiX4voph oopooQu1 phu0Xa3u
keishi0S Otievi4o ceeGh8Ee uthooZ6o Faed2sob udahG0Da Soh5aid1 reuze3Ne

So viele Kennwörter benötigt man normalerweise nicht. Ein einziges Kennwort mit Groß-/Kleinschreibung, 8 Zeichen und ohne Ziffern (dann kann es sich ein Anwender meist besser merken) generiert sich mit folgendem Aufruf:

$ pwgen -1 -0
chaisaeM

Soll es einmal sicher werden erstellt der folgende Aufruf ein Kennwort mit Groß-/Kleinschreibung, 14 Zeichen, Ziffern, Symbolen und der deaktivierten pronounceable Funktion von pwgen. Die pronounceable (aussprechbar) Funktion von pwgen sorgt sonst dafür das die Kennwörter besser zu merken sind. Dieses macht es natürlich etwas weniger zufällig.

$ pwgen -1 -s -y 14
SKf|.k.]m}o'Q3

Man sieht schon, solche Ausgaben lassen sich sehr gut in irgendwelchen Scripten nutzen! Wie immer bringen die man-pages noch mehr Beispiele und Informationen mit. Also bitte RTFM….

 $ man pwgen

 Ńoch Fragen? Dann fragen sealed

Have you mooed today?

Da würfle ich doch heute nach längerem mal wieder Pakete an einer Debian Kiste. Dabei fallen mir „ungewöhnliche“ Dinge ja meist ins Auge 🙂

Siehe auch die Handbuchseiten apt-get(8), sources.list(5) und apt.conf(5)
bezüglich weitergehender Informationen und Optionen.
                                    Dieses APT hat Super-Kuh-Kräfte.

Stimmt… Super-Kuh-Kräfte… Das hampelt ja schon einige Zeit länger dort herum. Ich hatte es schon fast wieder vergessen. Also schreibe ich einfach mal was dazu!

In diesem Sinne:

# apt-get moo
         (__) 
         (oo) 
   /------\/ 
  / |    ||   
 *  /\---/\ 
    ~~   ~~   
...."Have you mooed today?"...

Ein Browserplugin das man probieren sollte….

Kennt ihr eigentlich schon Ghostery? Das ist ein Broswserplugin für zum Beispiel Mozilla Firefox oder Google Chrome…. Es blockt nicht nur bekannte Tracker auf verschiedensten Webseiten, sondern man bekommt auch noch die eine oder andere spannende Information.

 

Mit einem solchen Plugin wird einem erst recht bewusst, wer da nicht alles hinter einem her ist! Hin und wieder ist es extrem überraschend wer einem da „in den Browser“ schaut.

 

Achja, nachdem ihr das Plugin installiert habt, solltet ihr in den Einstellungen natürlich seine Arbeit und das Blocken aktivieren 😉

 

Cyanogenmod 11 Samsung Galaxy S2

Da brat mir einer einen Storch…. Auf meinem Samsung Galaxy S2 arbeitet schon lange ein CyanogenMod 10.2. Ganz brav aktualisiere ich es immer mit den Nightly Builds. Heute morgen sehe ich doch tatsächlich ein Upgrade auf CM 11 (Android 4.4.2 KitKat). Habe ich direkt und ganz mutig installiert!

Was soll ich sagen? Läuft prima! Ich habe noch kein Problem gefunden. OK, ich musste noch mal die passenden Google-Apps nachinstallieren. Das ist aber normal so 🙂 Genau so gefällt es mir! Es hat mir so viel Spaß gemacht, dass ich direkt mal bei CM auf Donate klicke!

« Ältere Beiträge Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑