Wer seine Postfächer bei diversen Providern per fetchmail und ssh abruft, steht irgendwann vor dem Problem, daß die in der fetchmailrc hinterlegten SSL-Fingerprints nicht mit denen vom Server zurück gegebenen übereinstimmen.
Manche Mailserver ändern in regelmäßigen Abständen den SSL-Fingerprint.
Da fetchmail als Daemon läuft, wird das Problem auch erst ersichtlich, wenn man gezielt die Logfiles anschaut, weil man sich wundert, das von einem bestimmten Postfach keine Mails mehr kommen. Es sei denn man setzt logcheck ein, dann bekommt man das Problem spätestens nach einer Stunde Schwarz auf Weiß serviert.
Nun ist es ja kein Problem, sich den neuen Fingerprint vom Server zu besorgen. Aber wer kann sich schon Befehlsbandwürmer wie diesen
openssl s_client -connect Servername:995 -showcerts 2> /dev/null | openssl x509 -fingerprint -noout -md5 2> /dev/null
merken, wenn man ihn nur alle paar Monate einmal braucht. Außerdem muß dann noch die Datei fetchmailrc von Hand editiert werden. Warum nicht ein Script dafür einsetzen?
Voraussetzungen:
Das Script benötigt openssl um an den Fingerprint zu kommen und zur Ausführung sind logischerweise Root-Rechte erforderlich.
Installation:
Kopiere die Datei get_new_fingerprint.sh in ein Verzeichnis Deiner Wahl. Vorzugsweise sollte dieses in PATH enthalten sein. Dann die Datei noch ausführbar machen - fertig.
Aufruf des Scriptes:
get_new_fingerprint.sh
Ob man das Script nun bei Bedarf händisch ausführt oder einen cronjob dafür anlegt, das möge jeder selbst entscheiden.
Ansonsten sind wie immer alle Variablen am Anfang deklariert und können den persönlichen Bedürfnissen angepaßt werden.
Solltest Du doch noch Fehler entdecken, Tipps zur Verbesserung haben oder Infos über neue Versionen wünschen, dann schreib eine mail an die im Script angegebene Adresse.