Tutorial – SSH Login per Zertifikat und Schlüsselbund unter macOS X 10.12 Sierra

Ein kurzes Tutorial, wie man ab macOS 10.12 Sierra wieder einen SSH Login per Zertifikat und im Schlüsselbund gespeicherter Passphrase machen kann.

In früheren Versionen von macOS X wurde die Passphrase, beim SSH Login mittels Zertifikat, automatisch im Schlüsselbund hinterlegt. Dieses Verhalten hat Apple mit der Einführung von macOS 10.12 (Sierra) geändert, so muss man nun bei jedem Login die Passphrase eingeben. Den alten Zustand kann man aber leicht wiederherstellen, hierzu müssen der SSH Config nur zwei Zeilen hinzugefügt werden:

  • Öffnet die Datei ~/.ssh/config (Falls Sie noch nicht existiert einfach anlegen) und fügt folgende zwei Zeilen hinzu.
UseKeychain yes
AddKeysToAgent yes
  • Startet nun das Terminal neu, verbindet euch per SSH mit eurem Server und gebt die Passphrase ein.
  • Nun kann man im Schlüsselbund nach ssh suchen und findet dort die abgelegte Passphrase.
  • Schließt man nun das Terminal und öffnet es erneut, so muss die Passphrase für eine neue Verbindung zum Server nicht erneut eingegeben werden.

[MySQL] Datenbankproblem nach Serverumzug

Bei einem Umzug mehrerer MySQL Datenbanken auf einen neuen Server, gab MySQL beim Starten folgende Fehlermeldungen aus:

ERROR 1577 (HY000) at line 1: Cannot proceed because system tables used by Event Scheduler were found damaged at server start

ERROR 1547 (HY000) at line 1: Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted

Bei einem Wechsel auf einen neuen Linux-Server, mit einem anderen Linux-Betriebssystem, ist es sehr gut möglich, dass auf dem neuen System auch eine andere MySQL-Version läuft, so war es auch hier der Fall. Es ist wichtig, dass dann ein Upgrade der Datenbanken durchgeführt wird, um solche Fehler zu vermeiden . In unserem Fall war ein normales Upgrade nicht mehr möglich, die Datenbanken wurden schon, wenn auch nur für kurze Zeit, produktiv genutzt. MySQL bietet die Möglichkeit ein –force Upgrade durchzuführen, dies konnte in unserem Fall die Probleme der Datenbanken erfolgreich beseitigen und Mysql läuft nun Fehlerfrei. Anzuwenden ist es wie folgt:

  1. Es wird ein Datenbankbenutzer benötigt, der die Rechte für diese Aktion inne hat, in den meisten Fällen wird dies der root Benutzer von MySQL sein (hiervon gehe ich im Beispiel aus). Es kann aber auch sein, dass statt root ein Benutzer admin,… existiert, Hosting Provider machen so etwas gerne.
  2. Verbindet euch nun mit dem Linux System, z.B. per SSH. Wenn ihr euch mit dem Server per eingeschränktem Useraccount verbunden habt, so wechselt nun mit „su“ zu root. Als nächstes führt ihr folgendes Kommando aus:
    • mysql_upgrade -u root -p --verbose --force
  3. mysql_upgrade führt eigentlich mysqlcheck mit den Parametern –all-databases –check-upgrade –auto-repair aus. So wird das Upgrade also auf alle Datenbanken und alle Tabellen angewandt.
  4. Waren die Eingaben korrekt, und die Reparatur erfolgreich, so muss der Server nur noch einmal gestoppt und wieder gestartet werden. Unter Debian nutzt man folgende Befehle:
    • service mysql stop
    • service mysql start
  5. Die Fehlermeldungen sollten nun Vergangenheit sein. Generell wird empfohlen, bei jedem Upgrade von Mysql, auch ein Upgrade der Datenbanken durchzuführen.

Mac OS Cisco AnyConnect VPN Client Installationsproblem

In letzter Zeit sind einige Personen mit Apple Rechnern bei mir aufgeschlagen, die (unter anderem nach unsauberer Deinstallation) den Cisco AnyConnect VPN Client nicht mehr neu installieren konnten. Das Problem waren noch vorhandene Paketregistrierungen, die wie folgt bereinigt werden können:

Zuerst öffnen wir das Programm Terminal, entweder Terminal in die Spotlightsuche eingeben, oder im Finder im Ordner Programme/Dienstprogramme starten.
# Manpage von pkgutil anzeigen, wir nutzen dieses Tool um Paketeinträge zu entfernen:
man pkgutil
 
# Paketeinträge anzeigen die den String cisco enthalten:
pkgutil –pkgs | grep cisco
 
# Folgende zwei Einträge werden gefunden:
com.cisco.pkg.anyconnect.dart
com.cisco.pkg.anyconnect.vpn
 
# Verwaiste Cisco Einträge entfernen:
sudo pkgutil –forget com.cisco.pkg.anyconnect.dart
sudo pkgutil –forget com.cisco.pkg.anyconnect.vpn
 
Die Installation sollte nun wieder funktionieren.
 
Wichtig:
Bei der Verwendung dieser Befehle ist äußerste Vorsicht geboten, ihr könnt hierbei das System schädigen. Anwendung auf eigene Gefahr.

[Mac] Lion Wi-Fi Problem nach dem Aufwachen aus dem Standby

Nach einem Neustart ist das Netz automatisch wieder verbunden, schickt man den Mac jedoch lediglich in den Standby, so such die Airport-Karte zwar kurz nach bekannten WLans, zeigt auch mein eigenes Netz an, verbindet jedoch nicht mehr. … Hier gab es Tipps wie „Airport-Kennwort aus dem Schlüsselbund löschen“ oder „eine neue Umgebung definieren“, was bei mir alles nicht half.

Auf meinem Macbook Air benutze ich nun schon seit einiger Zeit Mac OS X Lion, mittlerweile in Version 10.7.3. Bisher hatte ich keine Probleme zu vermelden, doch nach dem Wechsel meines Routers, von Linksys zu einer Fritz!Box, erwischte mich ebenfalls das im Netz oft beschriebene Wi-Fi Aufwachproblem. Dies verhält sich wie folgt:

Das neue WLan der Fritz!Box wurde auf dem Macbook Air verbunden. Nach einem Neustart ist das Netz automatisch wieder verbunden, schickt man den Mac jedoch lediglich in den Standby, so sucht die Airport-Karte zwar kurz nach bekannten Wi-Fi-Netzen, zeigt auch mein eigenes Netz an, verbindet jedoch nicht mehr automatisch. Die Folge ist, dass ich jedes Mal von Hand das korrekte Netzwerk auswählen muss. Da das auf die Dauer doch ziemlich nervt, machte ich mich auf die Suche nach Lösungsmöglichkeiten im Netz. Hier gab es Tipps wie „Airport-Kennwort aus dem Schlüsselbund löschen“ , „PRAM Reset“ oder „eine neue Umgebung definieren“, was bei mir alles nicht half. In den Apple Support Communities bin ich letztlich auf den passenden Tipp gestoßen, der das Problem bei mir beseitigte.

Wer schon länger mit Macs arbeitet, dem wird bekannt sein, dass der Mac Einstellungen in sogenannten plist-Files speichert. Es gibt natürlich auch einen für die Airportkarte und um die Verbindungsprobleme loszuwerden, musste der zugehörige plist-File gelöschte werden. Man geht wie folgt vor:

  • Airport deaktivieren
    • Oben rechts neben der Uhrzeit auf das WLan-Symbol klicken und „Wi-Fi deaktivieren“ auswählen
  • Den plist-File com.apple.airport.preferences.plist in folgendem Pfad löschen
    • /Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist
  • Airport per WLan-Symbol wieder aktivieren
  • Das gewünschte Netzwerk auswählen und neu verbinden

Danach wurde bei mir das gewünschte Wi-Fi Netzwerk nach dem Aufwachen aus dem Standby wieder einwandfrei und automatisch verbunden.

Wichtiger Hinweis:
Ich hafte nicht für Schäden oder Datenverluste, die durch die Anwendung der von mir beschriebenen Schritte entstehen. Die Anwendung der von mir beschriebenen Aktionen erfolgt in allen Fällen auf eigene Gefahr!

Links:


[iPhone] Fehlerhafte Anwendung beenden ab OS 3.0

Da seit ewigen Zeiten tatsächlich mal wieder eine App auf meinem iPhone hing, wollte ich diese wie gewohnt durch längeres Halten des Home-Buttons beenden. … Also habe ich mal kurz im Netz recherchiert und die Lösung ist simpel: Wenn die fehlerhafte App aktiv ist, drückt man den Ausschalter so lange, bis der Ausschalten-Slider eingeblendet wird Nun drückt man etwa 6 Sekunden den Homebutton und die Anwendung wurde beendet

Da seit ewigen Zeiten tatsächlich mal wieder eine App auf meinem iPhone hing, wollte ich diese wie gewohnt durch längeres Halten des Home-Buttons beenden. Das einzige was dadurch aktiv wurde, war die Sprachsteuerung. Also habe ich mal kurz im Netz recherchiert und die Lösung ist simpel:

  • Wenn die fehlerhafte App aktiv ist, drückt man den Ausschalter so lange, bis der Ausschalten-Slider eingeblendet wird
  • Nun drückt man etwa 6 Sekunden den Homebutton und die Anwendung wurde beendet

[Linux Howto] Suchen und Ersetzen mit Vi(m)

Ich musste heute auf einem Linux-System ohne grafische Oberfläche eine Konfigurationsdatei anpassen. Hierbei sollte der alte Servername an vielen Stellen gegen den neuen Hostname ausgetauscht werden. Natürlich kann man die einzelnen Fundstellen von Hand editieren, aber im „Vi“ gibt es einen schönen Ausdruck, mit dem ein String gesucht und ersetzt werden kann.

Wer „Vi“ nicht kennt, es handelt sich hierbei um einen Editor (der über extrem viele Shortcuts und Anpassungsmöglichkeiten verfügt), der auf jedem Linux-/Unix-System zu finden ist. Die Bedienung ist etwas gewöhnungsbedürftig, ermöglicht aber nach etwas Einarbeitungszeit extrem schnelles Editieren und Coden.

Nun aber zum „Suchen und Ersetzen“ mit vi:

Möchte man alle Fundstellen gegen einen neuen String austauschen, so bringt folgendes Kommando das gewünschte Ergebnis:

:%s/string_alt/string_neu /g

Möchte man nur eine Zeichenkette austauschen, so lässt man einfach das „/g“ weg.

Da hierbei reguläre Ausdrücke verwendet werden, ist es wichtig vor speziellen Zeichen, wie z.B. einem Punkt, den so genannten Escapecharacter einzufügen. Hierbei handelt es sich um einen Backslash „\“. Statt . würde man also \. eingeben.

Wichtig !!!
Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.

Wichtig !!!

Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.

Links:

WordPress 2.8.3 enthält schwere Sicherheitslücke

In der aktuellen WordPress Version 2.8.3 kann ein Angreifer eine Schwachstelle ausnutzen, um den Admin auszusperren. Hierbei wird ein Fehler im Mechanismus für das Zurücksetzen des Passworts ausgenutzt. Bis ein Patch verfügbar ist, kann man die Lücke wie folgt schließen:

Öffnet in einem Editor die Datei wp-login.php in eurer aktuellen WordPress Installation. Springt zur Zeile 190 und ersetzt die Zeile

if  ( empty( $key ) )

durch

if  ( empty( $key ) || is_array( $key ) )

So sieht also der neue Codeblock aus:

if ( empty( $key ) || is_array( $key ) )
return new WP_Error(‚invalid_key‘, __(‚Invalid key‘));

if ( empty( $key ) || is_array( $key ) )

return new WP_Error(‚invalid_key‘, __(‚Invalid key‘));

Sollte man euch bereits ausgesperrt haben, so empfiehlt WordPress die Verwendung eines Notfallscripts, mit dem ihr euren Zugang wieder freischalten könnt. Hierfür müsst ihr per SSH auf euren Webspace zugreifen können.
Links:

[Linux] Ubuntu per USB-Stick installieren

Ich bin heute auf ein geniales Tool gestoßen, um Ubuntu (oder eine andere Linux-Distro) per USB-Stick zu installieren. Das eignet sich natürlich besonders für Geräte ohne DVD-Laufwerk, wie z.B. die aktuellen Netbooks, oder eben für mein kleines Thinkpad X61s. Das Tool von dem ich hier schreibe nennt sich UNetbootin, ist Open Source und kann von sourceforge.net in einer Windows- und einer Linux-Version geladen werden. Ich habe mich für die Windows-Variante entschieden. Nach dem Herunterladen und Entpacken des Programms kann es auch direkt ohne Installation gestartet werden.

unetbootin_01.jpg

Als erstes wählt man die zu installierende Linux-Variante aus, in meinem Fall Ubuntu. Anschließend wählt man das zugehörige ISO-Image aus, das man von der jeweiligen Distributions-Homepage geladen hat. Als Typ kommt bei mir nur USB Drive in Frage und an dieser Stelle sollte man überprüfen, dass das angezeigte Laufwerk auch zu dem USB-Stick passt, denn dieser verliert bei einem Klick auf „OK“ jegliche Daten und das Tool kopiert die notwendigen Installationsdaten auf den Stick und macht ihn bootfähig.

unetbootin_02.png

unetbootin_03.png

Nach der Installation kann man zwischen einem Neustart wählen, wenn das Linux auf dem aktuellen System aufgespielt werden soll, oder man beendet den Assistenten und nutzt den USB-Stick an jedem beliebigen Gerät, das von USB booten kann. Denkt daran, dass Ihr im BIOS das Booten von USB aktiviert!

Wenn ihr von dem USB-Stick hochfahrt, startet bei Ubuntu ein Live-Modus und ihr könnt zuerst mal Ubuntu etwas testen, oder ihr klickt auf dem Desktop auf Installieren. So einfach war es echt noch nie, ein Linux per USB-Stick zu nutzen. Also probiert es ruhig mal aus.

Links:

 

[Mac Howto] Wireshark 1.2.1 startet mit Fehlermeldung

Bisher habe ich Wireshark immer per MacPorts oder mit Fink installiert, da jedoch mittlerweile ein Binary für Mac OS X existiert und dieses die neueste Version beinhaltet, installierte ich Version 1.2.1 direkt per DMG. Die Installation ist in der beigelegten Readme gut erklärt, doch nach dem ersten Start erhielt ich folgende Fehlermeldung:

wireshark_mibs_01

Der Grund hierfür ist eine fehlende Pfadangabe in den Einstellungen von Wireshark. Ruft also über das „Edit Menü“ die „Preferences“ auf, wechselt zu „Name Resolution“ und klickt neben „SMI (MIB and PIB) paths“ auf „Edit…“.

wireshark_mibs_03

Es öffnet sich ein neues Fenster, in dem Ihr auf „New“ klicken und folgenden Pfad eintragen müsst:

/usr/share/snmp/mibs

wireshark_mibs_04

Mit „OK“ alle Dialoge schließen, Wireshark neu starten und der Fehler sollte Geschichte sein.

Links:

[Mac Howto] Erzeugen von .DS_Store auf Netzlaufwerken verhindern

Wer mit Windows Usern gemeinsam auf Netzlaufwerken arbeitet, der hat bestimmt schon oft die Frage gehört „Wo kommt denn die Datei .DS_Store her und was macht die?“. Auf Mac Systemen fällt diese versteckte Datei dem User selten bis gar nicht auf. Sie speichert individuelle Einstellungen eines Verzeichnisses, wie z.B. die Position von Icons, oder auch die Vorschaubilder für die Anzeige von Dateien im Finder. Um Probleme mit den genervten Windows Usern zu vermeiden, kann man die Erstellung von .DS_Store auf Netzlaufwerken verhindern (natürlich mit der Einschränkung, dass die darauf aufbauenden Funktionen auf diesem Laufwerk dann nicht verfügbar sind). Es gibt Tools, die das für einen erledigen, wie z.B. TinkerTool oder MacPilot, oder man tippt eine Zeile in das Terminal ein. Da bei mir MacPilot einen falschen Wert gesetzt hat, habe ich das ganze wie folgt per Terminal glatt gezogen:

Lesen der aktuellen Einstellung:

  • defaults read com.apple.desktopservices DSDontWriteNetworkStores
  • Wird hier ein false zurückgegeben, so wird .DS_Store auf Netzlaufwerken erzeugt

Einstellung ändern, so dass keine .DS_Store auf Netzlaufwerken erstellt wird:

  • defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Das war es auch schon und die Windows User sind wieder glücklich ;)Links:

Wichtig !!!
Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.

Wichtig !!!

Seid vorsichtig mit Befehlen im Terminal, ausgeführte Befehle können euer System dauerhaft schädigen und zu Datenverlusten führen. Also verschafft euch zuerst das notwendige Wissen und verwendet erst dann das Terminal. Ich hafte nicht für Schäden, die durch die Anwendung meiner Howtos entstehen.