/dev/blog/ID10T

Advertisement

CentOS: SSH Pubkey Authentication ermöglichen

• Linux • Comments

Kurztipp:
Wenn ihr euch in CentOS nicht per Public Key authentifizieren könnt, auch wenn der sshd korrekt konfiguriert ist und ihr in den Logs selbst mit DEBUG-Logging nichts finden könnt, kann es gut sein, dass euch SELinux einen Strich durch die Rechnung macht. Habt ihr den ~/.ssh-Ordner neu erstellt, ist es sehr wahrscheinlich, dass SELinux den Sicherheitskontext dieses Ordners nicht mag und deswegen die Public Key Authentication blockt. Um dies zu beheben gibt es zwei Wege:

Warum man immer ein Backup haben sollte...

• Linux • Comments

hat sich mir heute morgen schön gezeigt. Ich bekam folgende Mail von meinem vServer Provider Netcup:

Guten Morgen Till Wiese,

die Wartungsarbeiten am Wirtsystem Ihres vServers sind beendet. Leider haben diese deutlich länger gedauert als geplant. Der Grund hierfür ist ein Schaden am Festplattensystem auf dem Wirtsystem. Dieser Schaden hat dafür gesorgt, dass leider alle gespeicherten Daten auf dem Server unwiderruflich verloren gingen.

Leider ist es uns nicht gelungen, Ihre Daten zu rekonstruieren. Trotz RAID-Verbund, ist es zu einem totalen Datenverlust gekommen. Das so etwas passiert ist sehr unwahrscheinlich, aber leider, technisch nicht auszuschließen. Wir bedauern den Vorfall sehr und hoffen, dass Sie entsprechend §5.4 der vereinbarten AGB, regelmäßige Sicherungen Ihres
Systems vorgenommen haben.

Wenn Sie die Datensicherung über die Snapshot Export Funktion des vServercontrolpanels vorgenommen haben, können Sie Ihre Datensicherungen über dieses direkt zurück spielen. Ihr vServer bootet anschließend mit dem von Ihnen ausgewählten Datenbestand neu.

Haben Sie über unseren FTP-Backupspace oder über externen Backupspace Ihre Datensicherungen vorgenommen, müssen Sie zunächst ein Betriebssystem einspielen und dann Ihre Daten zurück kopieren.

Uns fällt es nicht leicht, Ihnen diese schlechte Nachricht übermitteln zu müssen. Seit 2:30 Uhr morgens haben wir versucht die Daten zu retten. Insgesamt drei Techniker waren hierfür im Einsatz. Leider mussten wir dann feststellen, dass die Daten des Nodes nicht mehr zu reparieren waren. Wir haben nun einen komplett neuen Server bereit gestellt, um zukünftige Probleme am Festplattencontroller, so gut es geht, zu vermeiden. Für den Datenverlust bitten wir bei Ihnen um Entschuldigung.

Sollten Sie Fragen haben oder Hilfe benötigen, stehen wir Ihnen gerne für ein offenes lösungsorientiertes Gespräch zur Verfügung.

Mit freundlichen Grüßen

Ihr netcup Team

2013-09-06-kernel-panicJep, ein "professioneller" Serveranbieter hat gestern nacht einen Haufen Server zerstört.
Dass man seine Backupscripte auch ab und an kontrollieren sollte, habe ich zusätzlich gelernt. Meines lief nämlich nicht richtig, weswegen meine Backups unbrauchbar sind. :-(
Jetzt geht es also an die Neuinstallation. Zur Abwechslung werde ich mal CentOS einsetzen. Für die Leser dieses Blogs dürfte das ein Vorteil sein, da damit vermutlich viele neue Einträge über die Installation von diversen Applikationen entstehen werden. Für mich ist es eine mittlere Katastrophe. Man darf gespannt abwarten, ob Netcup es bei dieser lapidaren E-Mail belässt oder noch andere Wiedergutmachungen anstossen wird.
Ich werde mir auf jeden Fall Gedanken machen, ob Netcup nach so einem GAU für mich noch länger in Frage kommt. Kann wer einen anderen guten vServer-Provider empfehlen, der richtige Virtualisierung über KVM o.ä. nutzt und iptables sowie TUN/TAP-Interfaces unterstützt?

Bild: Kevin Collins, CC BY 2.0

Linux - auf mehrere Strings in einer Zeile greppen

• Linux • Comments

Linux ist toll. Für jedes Problem findet man schnell eine Lösung, die meistens sogar auf der Hand liegt oder einem zumindest nach Erklärung sofort einleuchtet. So auch bei diesem Kurztipp. Will man eine Datei nach mehreren Strings durchsuchen, habe ich zwei favorisierte Methoden.

Pcregrep

Weiß man, in welcher Reihenfolge die Strings in der Zeile vorkommen, kann man das Programm pcregrep nutzen, insofern es denn installiert ist oder nachinstalliert werden kann. Damit kann man dann perlähnliche Regular Expressions nutzen, die das ganze Konstrukt sehr einfach machen. Um beispielsweise den Benutzer "m3adow" mit der bash als Shell in der Passwd zu suchen, reicht dann ein:

getent passwd | pcregrep "m3adow.*bash"

Da pcregrep wie gesagt perlähnliche RegEx nutzt, ist es sehr mächtig.

Piping

Weiß man nicht genau, in welcher Reihenfolge die Strings in der Zeile vorkommen, hat pcregrep nicht auf dem System und kennt sich auch nicht mit Regular Expressions aus, kann man immer noch die "Lösung des kleinen Mannes" nutzen und mehrere greps hintereinander pipen.

getent passwd|grep "m3adow"|grep "bash"

Das ist zwar nicht so effizient, da grep mehrfach aufgerufen wird, klappt aber auf jeden Fall.
Falls ihr noch andere Methoden habt, dieses Problem zu lösen, freue ich mich, diese in den Kommentaren zu lesen. :-)

CM10.1 Nightlies mit TabletUI und MultiuserUnterstützung

• Android • Comments

Meine Spielerin #2 und ich besitzen und benutzen zusammen ein Motorola Xoom*. Weil ich ein großer Fan von Custom-ROMs, insbesondere des Cyanogenmods bin, läuft dort natürlich auch CM drauf, natürlich die neuste Version CM10.1, die es für das Xoom bisher nur als Nightlies gibt. Leider ist bei unserer Version mit 3G (der Modellname ist Everest) im Default der Multiusermodus, der für Android 4.2 angekündigt wurde, wegen irgendwelchen Problemen deaktiviert worden. Da mich aber sowohl die Benachrichtigungen als auch die Apps meiner Geliebten wenig interessieren, will ich diesen unbedingt haben. Eventuelle kleinere Probleme nehme ich dafür in Kauf. Außerdem gefällt es mir auch nicht, dass das Cyanogenmodteam dem Xoom eine "Phablet"-Ui verpasst hat. Die sieht im Standard so aus:
2013-05-06-xoom-phabletui

Eine obere Notificationbar auf einem Tablet? Halte ich für sinnfrei, will ich nicht. Hier also meine Vorgehensweise. Ich empfehle, euch genaustens an die Schritte und die Reihenfolge zu halten, da es sonst Probleme geben könnte, vor allem bei der Multiuserunterstützung. Diese Vorgehensweise dürfte in begrenztem Maße auch für die meisten anderen Tablets und Smartphones funktionieren. Nach meiner Erfahrung sind ROMs ohne integrierte Google Apps empfehlenswert.

  1. Das gewünschte ROM herunterladen und flashen. Die neusten CM10.1 ROMs für das Xoom Everest findet ihr hier. Für andere Xoom Versionen, schaut in den Thread auf XDA-Developers. Je nachdem welches ROM vorher installiert war, ist ein Wipe des Caches und des Dalvik Caches ausreichend, ansonsten ist ein Full Wipe notwendig.
  2. Android booten, die App "4.2 Multiple User Enabler" runterladen und installieren.
  3. Nachdem ihr die App installiert habt, führt sie aus, "Enable the feature" und bestätigt die Superuser-Berechtigungen.
    2013-05-06-4-2-multiple-user-enable
  4. Rebootet anschließend ins Recovery, wipet Dalvik-Cache und Cache.
  5. Dann wieder ins Android-System zurück. Legt nun alle Benutzer an, die ihr auf eurem Tablet haben wollt. Versucht auch direkt, euch mit diesen einzuloggen. Wenn dabei ein unzähmbarer Haufen an Absturzberichten kommt, funktioniert meine Methode für euch eventuell nicht oder ihr habt die Reihenfolge nicht eingehalten. Bei meinem Xoom funktionierte aber alles.
  6. Wechselt nun wieder in das Recovery und flasht eure Google Apps.
  7. Startet das Tablet anschließend wieder in das System und checkt, ob ihr euch mit allen Benutzern an eurem Google Konto anmelden könnt (wenn gewünscht).
  8. Nun kommen wir zur TabletUi. Dafür benötigen wir den Autopatcher.
    Ich empfehle die Nutzung der neusten Version von github, da ich bei den älteren Versionen Probleme mit dem Patchen hatte.
  9. Patcht euer Rom mit dem tabletUI-Mod. Wie ihr das macht, hängt von eurem Betriebssystem ab, ist aber im Autopatcher-Thread ausreichend erklärt.
    Wenn ihr schon dabei seid, würde ich zusätzlich noch den Openpdroid-Mod empfehlen, der es einem per Zusatzapp ermöglicht, anderen Apps Rechte zu verwehren. So oder so erhaltet ihr am Ende zwei Dateien, eine update-* und eine restore-*.
  10. Kopiert beide Dateien auf euer Tablet und flasht die update-* via Recovery. Macht anschließend wieder ein Wipe von Cache und Dalvik-Cache.
  11. Startet ins System und prüft bei allen Benutzern, ob alles erwartungsgemäß funktioniert.

Fertig! Ihr habt nun (hoffentlich) ein System mit Multiuser-Unterstützung und einer vernünftigen UI für ein Tablet.

2013-05-06-xoom-tabletui

Falls ihr doch Probleme habt, fragt hier oder je nach Schritt besser in dem jeweiligen XDA-Developers Thread.

SSH: Das Leben erleichtern mit einer config-Datei

• Linux • Comments

Hier wieder ein kleiner Happen für zwischendurch, während ich an ein paar längeren Artikeln schreibe (deren Veröffentlichungsdatum soon™ ist).

Ich habe schon seit Jahren mit Linux und SSH zu tun. Immer wieder habe ich mich darüber geärgert, Aliases für jede Verbindung anlegen zu müssen, um Servername, Benutzername, SSH-Port und Private Key passend aneinanderzubringen. Vor Kurzem habe ich von der Möglichkeit gelesen, eine config-Datei unter ~/.ssh/ zu erstellen, wodurch sich die ganze Sache schonmal etwas vereinfacht hat. Wie gesagt legen wir im .ssh-Unterordner unseres Homeverzeichnisses eine config-Datei an. Diese kann man etwa so befüllen:

Host Server1
    HostName foo.bar.org
    Port 1122
    IdentityFile ~/.ssh/foobar.rsa
    User Foo
Host Server2
    HostName bar.foo.org

Die Parameter sind meiner Meinung nach selbst erklärend. Nun kann ich mich durch eine simple Eingabe von

ssh Server1

mit dem Server unter dem angegebenen Hostname mit dem angegebenen Port, dem eingestellten Private Key und dem genannten Benutzer verbinden.
Natürlich kann man die config-Datei für viel mehr benutzen, etwa individuelle Hosteinstellungen oder globale Benutzereinstellungen, aber für mich ist das momentan die nützlichste Funktion.
Frage an meine Mitleserschaft: Wie macht ihr das mit der Verwaltung von SSH-Verbindungen? SSH-Agent, Aliases oder vielleicht eine ganz andere Methode? Ich bin für jede Vereinfachung offen. :-)

Advertisement