CLI Tool für Hetzner DNS

Hetzner bietet einen kostenlosen DNS Service an welcher sich per API steuern lässt. Hierfür habe ich ein CLI Tool geschrieben in Python. Github Seite: lanbugs/hdns_cli: Hetzner DNS CLI Tool (github.com) PyPI Paket: hdns-cli · PyPI Description Hetzner provides an DNS service completely manageable via API, this tool gives you easy access via CLI to the … Weiterlesen

Colored DIFF to HTML

Colorize your diff and save the colorized output HTML for non shell users 😉 Required tools: diff colordiff Script ansi2html.sh Install colordiff Get ansi2html.sh Make a colorized diff You should see a colorized diff on the shell Now let convert the ansi colored output to HTML … The ansi2html.sh script now created an HTML file … Weiterlesen

VIM for YAML editing

Anpassen der ~/.vimrc mit „vim ~/.vimrc“ Im Detail: „set number“ aktiviert die Anzeige der Zeilennummern „autocmd FileType yaml,yml setlocal ts=2 sts=2 sw=2 et ai“ wandelt Tab in 2 Spaces um & Einrückung wird bei neuer Zeile beibehalten für Dateien mit der Endung yaml oder yml „set colorcolumn=80“ zeigt eine rote Line an bei Spalte 80 … Weiterlesen

Podman container engine

Was ist Podman? Podman ist ein open-source Projekt welches auf den meisten Linux Distris zur Verfügung steht. Mit Podman kann man OCI Container entwickeln, managen und laufen lassen. Podman kann als Docker-kompatibler Ersatz direkt verwendet werden in dem man einen Alias setzt. alias docker=podman Der größte Vorteil ist das man Container im Userspace ohne Rootrechte … Weiterlesen

Flask + Gunicorn + Caddy Webservice

Hier eine „einfache“ Variante ein Flask Projekt mit Gunicorn und Caddy zu betreiben. Caddy ist ein Webserver welcher in GO geschrieben ist und von sich aus bereits HTTPS mit Letsencrypt macht, dabei ist Caddy ultraleicht einzurichten. In dem Beispiel verwenden wir Caddy um mit dem Backend Gunicorn Webserver zu sprechen, Caddy fungiert hier als Reverse … Weiterlesen

Ansible Playbooks für Cisco Geräte

Ich habe jetzt mal angefangen kleine Snippets / Playbooks in einem Github Repo zu sammeln. lanbugs/cisco_ansible_playbooks: Ansible playbooks collection for Cisco network devices (github.com) Freue mich auf Feedback und viel Spaß damit 🙂 Beispiel „Interface Description setzen bei Interfaces wo ein Access Point angeschlossen ist“:

Cisco APIC API – Umsetzung der DCACI Schulung nur über API

Hier zur DCACI Schulung die Umsetzung nur auf API in Python, die Schulung ist super, bezieht sich aber hauptsächlich auf die GUI, das Interessante an einem APIC ist ja ich möglichst viel über Automatisierung / die API löse. Alles weitere hier: lanbugs/DCACI_Lab_Solution_REST_API: DCACI training solution only with API (github.com) Beispiel: Lab 3: Task 1 – … Weiterlesen

Snakeoil Zertifikate erneuern

Wer keine vernünftigen Zertifikate verwendet aber trotzdem die Standardzertifikate regenerieren will auf Debian / Ubuntu … make-ssl-cert generate-default-snakeoil –force-overwrite Danach sollten die entsprechenden Services neu gestartet werden die auf die Zertifikate verweisen. Wenn die Maschine im Internet betrieben wird wäre auch Letsencrypt eine alternative, diese sind kostenlos und von einer offiziellen CA signiert die mittlerweile … Weiterlesen

MongoDB: Authentifizierung aktivieren

Standardmäßig ist bei MongoDB keine Authentifizierung aktiv was einigen Entwicklern bereits auf die Füße gefallen ist. Schlecht gesicherte MongoDB-Datenbanken erneut im Visier von Ransomware | heise online Deshalb empfiehlt es sich auch wenn die Datenbank nur auf localhost läuft immer die Authentifizierung einzuschalten, wer weiß wer morgen das umstellt und die DB im Netz steht … Weiterlesen

Ansible: Proxy / no_proxy für einzelnen Task aktivieren / deaktivieren

In meinem AWX Tower habe ich global einen Proxy hinterlegt. Ich hatte jetzt den Fall das ich für einen Task eine Ausnahme benötigt habe. Das geht wie folgt: Im Task kann unter der Variable environment die Variable http_proxy und no_proxy gesetzt werden, diese gilt dann nur für diesen Task. Hier ein komplettes Beispiel, ich hole … Weiterlesen

SSH Agent und Autoload der SSH Keys in Terminal / WSL

Um den SSH Agenten automatisch in einem WSL Terminal zu starten muss man die Datei ~/.profile anpassen. Beim starten des WSL Terminals schaut er in .ssh nach SSH Keys und fragt automatisch nach den Passwörtern für die Keys sofern gesetzt. Quelle: git – Start ssh-agent on login – Stack Overflow

Alte Cisco Geräte und SSH Warnung „no matching key exchange method found“ und „no matching cipher found“

Auf älteren Cisco Geräten trifft man oft noch auf SSH mit dem Schlüsselaustauschverfahren „diffie-hellman-group1-sha1“ und Chiffren wie „aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc“, dies führt auf aktuellen Linux Distributionen zu folgenden Fehlermeldungen no matching key exchange method found no matching cipher found Um temporär auf das Gerät zu kommen können Parameter beim aufruf von SSH mitgegeben werden: Alternativ kann das … Weiterlesen

AWX persistenten Ordner in Container einbinden

Ich verwende den AWX Ansible Tower unter anderem um von Netzwerkgeräten Konfigurationsbackups zu machen. Da die Daten in den Containern nicht persistent sind mappe ich mir einen Ordner in den awx_tasks Container um meine Backups zu speichern. Meine AWX Installation liegt unter /opt/awx, alle Beispiele beziehen sich auf diesen Ordner. Zuerst erstellen wir einen neuen … Weiterlesen

AWX hinter einem Proxy erfolgreich installieren

Um AWX hinter einem Proxy mit dem Playbook erfolgreich zu installieren müssen im System, in GIT, in Docker und in den Containern die Proxyeinstellungen hinterlegt werden. Proxy für APT Im Ordner /etc/apt/apt.conf.d/ eine Datei 90proxy mit folgendem Inhalt anlegen. Proxy für GIT Mit folgendem Befehl kann der Proxy global gesetzt werden für GIT. Proxy für … Weiterlesen

pip offline verwenden

Wenn man ein System hat das isoliert ist, z.B. in einer DMZ und keinen Internetzugriff hat man aber trotzdem für python Pakete per pip installieren will kann man diese auf einem anderen System herunterladen mit allen Abhängigkeiten und diese dann im Zielsystem installieren. Quell und Zielsystem sollten die gleiche Python Version haben. Download z.B. von … Weiterlesen

Incorrect date value: ‚0000-00-00‘ for column … in MySQL 5.7.12

Ich hatte letztens das Problem mit einer GSALES Installation das das Updateskript nicht alle Änderungen an der Tabelle umsetzen konnte weil folgender Fehler auftrat: Blöderweise zeigt das Updateskript keinen Fehler an, bei der Verwendung von GSALES gibt es aber Probleme wenn z.B. ein Kundendatensatz aktualisiert wird. Hier kam es dann zu einem SQL Update Fehler … Weiterlesen

Eigenes Debian/Ubuntu Repository aufbauen

Kurzanleitung zum Aufbau eines APT Paket Repository In dem Repo wird das hallo-1.0.0.deb verwendet um die Funktion von reprepro zu zeigen, wie eigene DEB Pakete erstellt werden können könnt Ihr hier lesen. Installation der benötigten Pakete Erstellen eines GnuPG keys Mit diesem GPG Schlüssel wird das Repository und die Pakete signiert. Der Public Key muss … Weiterlesen