hagen-bauer.de
Archiv Impressum Datenschutz

    Viele Opensource Icons

    Braucht man immer mal wieder: Home of open source icon sets

    18.1.2026 | Kategorie / icons /

    Ich habe es gut

    Nur ein Bild

    Warme Zimtschnecken die gerade mit Zuckerguss bestrichen werden
    17.1.2026 | Kategorie /

    KI als zweitgrösstes Geschäftsrisiko in 2026

    Im Allianz Risiko Barometer 2026 haben 3,338 Risikomanagement-Experten aus 97 Ländern und Gebieten (% der Antworten) geantwortet. Die Zahlen ergeben nicht 100%, da jeweils bis zu drei Risiken ausgewählt werden konnten.

    Mal eine andere Sichtweise.

    Aber ob das so im Risk Management der Unternehmen auch so bewertet wird?

    15.1.2026 | Kategorie / KI /

    Eine Revokationliste für SSH CAs

    Nehmen wir also an wir haben SSH Server mit einer CA ausgestattet und einen ssh key erstellt und wollen diesen später auf den Servern sperren. Dazu richten wir auf allen Servern eine Revokationlist ein in der wir die unerwünschten öffentlichen Keys pflegen.

    Dann aktivieren wir diese Revocationlist für den sshd daemon

    vi /etc/sshd/sshd_config
    RevokedKeys /etc/ssh/revoked_keys
    

    Dann wird der User nicht mehr reingelassen

    error: Authentication key ED25519-CERT SHA256:mfgpH/6E0IdwzquX6SxwjoeldgHb+nx68vmYPr2yVYs revoked by file /etc/ssh/revoked_keys
    
    Openssh Logo
    12.1.2026 | Kategorie / openssh /

    Ein Fahrplan zu weniger US Abhängigkeit

    Aktuell gibt es ja viele Menschen die sich kritisch mit Ihrer bisherigen Nutzung von Services aus den USA auseinander setzten.

    Und da sind auch viele Menschen dabei die wenig Lust/Zeit haben sich mit den technischen Details zu beschäftigen. Leider treffen deren Fragen recht häufig auf sehr engagierte technisch versierte Menschen. Und dann werden technisch valide aber praktisch kaum handhabbare Empfehlungen ausgesprochen. Alle richtig aber für eine bestimmte Zielgruppe aus verschiedenen Gründen nicht beherrschbar.

    Schauen wir also auf Opa Helmut oder einen alleinerziehenden Vater. Vielfach fehlt das technische Verständnis oder die Zeit da viel Zeit zu investieren (oder beides). Denen kann ich doch nicht einen Link auf die Installation von LinageOS oder GrapheneOS zusenden.

    Ich bin auch der Auffassung das diese Abhängigkeit nicht reduziert wird wenn man sein Android degoogelt. Ja man gewinnt an Privatsphäre aber die Abhängigkeit bleibt bestehen. Deswegen bin ich der Auffassung das man für eine stabilen und sicheren Betrieb bis auf weiteres nur zu Geräten von Google oder Apple greifen kann. Alle Hersteller anderer Google Geräte haben in der Vergangenheit keine langfristigen regelmäßigen Updatezyklus nachweisen können. Auch wenn es immer wieder tolle Ankündigen gab.

    Ich bin der Auffassung das muss man als nicht Nerd heute akzeptieren oder Mensch geht das Risiko ein Geräte zu nutzen die nicht sicher sind.

    Was man tun kann und sollte ist die Service bewusst auszuwählen und auf ein Linux Gerät wechseln. Beides ist heute stabil und einfach machbar. Deswegen empfehle ich für die oben genannte Zielgruppe

    • Schrittweise Umstellung der Daten im Backend auf einen deutschen Provider (wie z.B. Mailbox.org unter Beibehaltung aller Hardware
    • Wenn das alles steht (und das wird Monate dauern) Macbook/Windows gegen Linux tauschen (Hier empfehle ich immer gebrauchte Lenovo Geräte wie einen T480)
    • Mobile Geräte dann als letztes ein aktuelle Apple oder Google Pixel

    Wer jetzt sagt “Du musst aber LinageOS / Sailfish.. nehmen” liest sich bitte noch mal die Zielgruppe für diese Empfehlung durch.

    11.1.2026 | Kategorie / DigitaleSouveränität /

    Des KaIsers neue Kleider

    Für AI eingeplantes Geld wird wohl dieses Jahr in substanziellem Umfang nicht ausgegeben

    Nein doch, aahhhh.

    Forrester Research analysed responses and predicted that in 2026, companies will delay about 25% of their planned AI spending by a year. In other words, because AI is so damn useless, more than a quarter of the corporate money previously predicted to be spent on it in 2026 will be held back!

    7.1.2026 | Kategorie / KI /

    TVHeadend Recordings in VLC

    Ich verwende inzwischen TVHeadend für die digitalen Aufnahmen. Das Webui braucht eine Anmeldung und wenn ich eine Aufnahme in VLC ansehen möchte klappt das nicht.

    Ein Weg wie ich es hinbekomme ist die URL auf die Aufnahme mit den Anmeldedaten in der URL zu erweitern und diese dann als Stream in VLC zu laden.

    http://tv.nnn.net:9981/ticket/dvrfile/c130a47b396beb921046f72af6fc04db?ticket=F0DCB4AAFDF5604584CB1845927E235D3A1BC5C2
    
    in 
    
    http://user:password@tv.nnn.net:9981/dvrfile/c130a47b396beb921046f72af6fc04db
    
    
    4.1.2026 | Kategorie / tvheadend / Winter /

    Füllstand der Gasspeicher in Deutschland

    Die meisten werden sich noch an den Winter 2022 / 2023 erinnern. Es herrschte allgemeine Betriebsamkeit bei der Vorbereitung der Energievorräte auf den Winter. Robert Habeck war als Wirtschaftsminister verantwortlich für die Energieversorgung und hat in einem substantiellen Kraftakt dafür gesorgt das genug Gas bevorratet wurde für den Fall das die Gasversorgung aus Russland einbricht.

    Aber was weiß dieser grüne Träumer denn von richtigem Energiemanagement. Jetzt haben wir mit der ehemaligen Gasmanagerin Katherina Reiche eine Fachfrau im Amt und die weiß wie man das richtig macht. Wir überlassen die Bevorratung dem Markt.

    Den aktuellen Füllstand kann man hier verfolgen. Ich hatte Lust das mal auszuwerten und mit Unterstützung von Chatgpt ein Script gebastelt das mir das mal als Grafik darstellt.

    Stand heute liegen wir deutlich unter den Werten der vergangenen Jahre. Hoffentlich wird das ein warmer Winter. Aber wir können ja immer noch LNG kaufen. Das ist im Winter besonders billig. Und wenn der Winter warm wird soll es ja klappen.

    Grafische Darstellung des Füllstandes der deutschen Gasspeicher
    2.1.2026 | Kategorie / Gasspeicher / Winter /

    Eine SSH CA für Benutzerschlüssel

    Es ist ja “Stand der Technik” für die Anmeldung am SSH Server nicht mehr ein Kennwort zu verwenden sondern SSH Schlüssel. Der Grundgedanke ist das der Server den oder die öffentlichen Schlüssel eines Anwenders in einer bestimmte Datei hat. Meldet sich ein Benutzer an wird dieser öffentliche Schlüssel verwendet um kryptografische Magie walten zu lassen.

    Das bedeutet das man die öffentlichen Schlüssel auf den Servern verteilen muss. Bei ein paar Servern mit ein paar Anwendenden geht das noch gut mit Automatisierungen wie Ansible.

    Irgendwann skaliert das nicht mehr. Eine Möglichkeit ist es die öffentlichen Schlüssel nicht mehr zu verteilen sondern diese öffentlichen Schlüssel von eine CA signieren zu lassen. Der Server vertraut dann den Zertifikaten die mit der bei Ihm hinterlegten CA signiert worden sind.

    Ich habe das für mich auf FreeBSD so realisiert. In grösseren Umgebungen muss das anders aufgebaut werden.

    Ein dedizierter Notebook dient als CA Server. Wenn ich einen neuen Schlüssel einrichte muss der öffentliche Teil über einen USB Stick auf den Notebook und wird dort signiert. Ein andere Ansatz war zuerst ein Jail dafür zu verwenden. Das Jail mounted einen allgemein zugänglichen Share und in diesen Share werden die Pubkeys zum Unterschreiben gelegt. Da ich noch einen alten X201 hier habe habe ich mich zu dem “offline” Ansatz entschlossen.

    User Anmeldungen.

    Zuerst wird eine SSH CA für User erstellt. Es wird allgemein empfohlen verschiedene CAs für User und Server zu verwenden.

    ssh-keygen -t ed25519 -f ssh_user_ca
    

    Der öffentliche Key muss auf den Servern verteilt werden und mit dem notwendigen Pubkey Algorithmus in die SSHD Konfiguration übernommen werden. Ich mache das bei mir mit Ansible.

    vi /etc/ssh/sshd_config
         TrustedUserCAKeys /etc/ssh/ssh_user_ca.pub
         PubkeyAcceptedAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-ed25519
    sudo service sshd restart
    

    Auf dem Client erstelle ich ein neues Schlüsselpaar. Ich könnte auch ein altes nehmen aber wenn ich schon mal dabei bin …

     ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_hbauer_2026
    

    Den öffentlichen Teil muss ich dann auf meinem “CA Server” signieren.

    ssh-keygen \
      -s ssh_user_ca \
      -I Hagen.Bauer@caserio.de \
      -n hbauer \
      -V +150w \
      id_hbauer_2026.pub
    
    Enter passphrase for "ssh_user_ca":
    Signed user key id_hbauer_2026-cert.pub: id "Hagen.Bauer@caserio.de" serial 0 for hbauer valid from 2025-12-23T15:30:00 to 2028-11-21T15:31:47
    

    Man erhält damit eine Dateien namens id_hbauer_2026-cert.pub die man “irgendwie” wieder zurück auf den Client bekommen muss und neben den Pubkey legen sollte. Dann kann man sich mit dem neuen Key an dem Server anmelden ohne vorher den öffentlichen Key bei dem Nutzer in die authorizedkeys eingetragen zu haben.

    Später werde ich mir dann man den Prozess der Revocation Liste ansehen.

    Openssh Logo
    29.12.2025 | Kategorie / openssh /

    Frohe Weihnachten

    Euch allen wünsche ich ruhige und entspannte Festtage im Kreise der Menschen die Euch am meisten bedeuten.

    Weihnachtsbaum
    26.12.2025 | Kategorie / Weihnachten /

    Adding a disk to single disk zfs boot pool

    In this post I would like to document my successful migration from a single disk zfs boot pool to a 2 disc mirror. When migrating my old Truenas system to a vanilly FreeBSD based NAS with jails I had installed the root disk on a single ssd. Last week I had a strange pool error which I had to “recover” from via a power off / power on cycle. Since I migrated from spinning disk to NVME I now have lot of space in my enclosure and I thought it might be a good idea to go from a single disc to a mirror.

    The flow

    • put i an additional device
    • copy partition table
    • attach partition to pool
    • copy bootloader
    • test
    • replace old boot disc in pool

    Get current status

    #zpool status croot
      pool: croot
     state: ONLINE
      scan: scrub repaired 0B in 00:00:38 with 0 errors on Tue Dec  2 02:00:38 2025
    config:
    
            NAME        STATE     READ WRITE CKSUM
            croot       ONLINE       0     0     0
              ada0p4    ONLINE       0     0     0
    
    #gpart show ada0
    =>       40  123091840  ada0  GPT  (59G)
             40     532480     1  efi  (260M)
         532520       1024     2  freebsd-boot  (512K)
         533544        984        - free -  (492K)
         534528    4194304     3  freebsd-swap  (2.0G)
        4728832  118362112     4  freebsd-zfs  (56G)
      123090944        936        - free -  (468K)
    
    #gpart show ada1
    =>       40  234441568  ada1  GPT  (112G)
             40         88        - free -  (44K)
            128  234441480     1  freebsd-zfs  (112G)
    
    

    Copy partition table

    #/sbin/gpart backup ada0 | /sbin/gpart restore -F ada1
    
    #gpart show ada1
    =>       34  234441581  ada1  GPT  (112G)
             34          6        - free -  (3.0K)
             40     532480     1  efi  (260M)
         532520       1024     2  freebsd-boot  (512K)
         533544        984        - free -  (492K)
         534528    4194304     3  freebsd-swap  (2.0G)
        4728832  118362112     4  freebsd-zfs  (56G)
      123090944  111350671        - free -  (53G)
    

    Verify googled commandline, attached a partition , go for it and monitor status

    #zpool attach
    missing pool name argument
    usage:
            attach [-fsw] [-o property=value] <pool> <device> <new-device>
    
    #zpool attach croot ada0p4 ada1p4
    
    #zpool status croot
      pool: croot
     state: ONLINE
    status: One or more devices is currently being resilvered.  The pool will
            continue to function, possibly in a degraded state.
    action: Wait for the resilver to complete.
      scan: resilver in progress since Sat Dec 20 16:07:03 2025
            10.9G / 10.9G scanned, 21.5M / 10.9G issued at 2.15M/s
            7.84M resilvered, 0.19% done, no estimated completion time
    config:
    
            NAME        STATE     READ WRITE CKSUM
            croot       ONLINE       0     0     0
              mirror-0  ONLINE       0     0     0
                ada0p4  ONLINE       0     0     0
                ada1p4  ONLINE       0     0     0  (resilvering)
    
    # zpool status croot
      pool: croot
     state: ONLINE
      scan: resilvered 11.5G in 00:12:40 with 0 errors on Sat Dec 20 16:19:43 2025
    config:
    
            NAME        STATE     READ WRITE CKSUM
            croot       ONLINE       0     0     0
              mirror-0  ONLINE       0     0     0
                ada0p4  ONLINE       0     0     0
                ada1p4  ONLINE       0     0     0
    

    Copy bootloader

    #mkdir /mnt/efi1
    #newfs_msdos /dev/ada1p1
    #mount -t msdosfs /dev/ada1p1 /mnt/efi1
    #mkdir -p /mnt/efi1/EFI/BOOT
    #cp /boot/loader.efi /mnt/efi1/EFI/BOOT/BOOTX64.EFI
    

    Unfortunatly the only way to test this is to physically remove the first disk. Make sure that there is no efiboot entry in your /etc/fstab

    After this is I replaced the original ada0 since some strange error was the root cause of this exercise.

    check status, Copy partition table to the replaced drive, replace drive, monitor status and copy bootloader

    #zpool status
      pool: croot
     state: DEGRADED
    status: One or more devices could not be used because the label is missing or
    	invalid.  Sufficient replicas exist for the pool to continue
    	functioning in a degraded state.
    action: Replace the device using 'zpool replace'.
       see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
      scan: resilvered 3.02M in 00:00:00 with 0 errors on Mon Dec 22 10:44:41 2025
    config:
    
    	NAME        STATE     READ WRITE CKSUM
    	croot       DEGRADED     0     0     0
    	  mirror-0  DEGRADED     0     0     0
    	    ada0p4  FAULTED      0     0     0  corrupted data
    	    ada1p4  ONLINE       0     0     0
    
    #/sbin/gpart backup ada1 | /sbin/gpart restore -F ada0
    #zpool replace croot ada0p4
    
    #zpool status
      pool: croot
     state: DEGRADED
    status: One or more devices is currently being resilvered.  The pool will
    	continue to function, possibly in a degraded state.
    action: Wait for the resilver to complete.
      scan: resilver in progress since Mon Dec 22 11:01:23 2025
    	11.0G / 11.0G scanned, 5.12G / 11.0G issued at 138M/s
    	5.40G resilvered, 46.52% done, 00:00:43 to go
    config:
    
    	NAME              STATE     READ WRITE CKSUM
    	croot             DEGRADED     0     0     0
    	  mirror-0        DEGRADED     0     0     0
    	    replacing-0   DEGRADED     0     0     0
    	      ada0p4/old  FAULTED      0     0     0  corrupted data
    	      ada0p4      ONLINE       0     0     0  (resilvering)
    	    ada1p4        ONLINE       0     0     0
    
    #zpool status croot
      pool: croot
     state: ONLINE
      scan: resilvered 11.6G in 00:01:34 with 0 errors on Mon Dec 22 11:02:57 2025
    config:
    
    	NAME        STATE     READ WRITE CKSUM
    	croot       ONLINE       0     0     0
    	  mirror-0  ONLINE       0     0     0
    	    ada0p4  ONLINE       0     0     0
    	    ada1p4  ONLINE       0     0     0
    
    #mkdir /mnt/efi0
    #newfs_msdos /dev/ada0p1
    #mount -t msdosfs /dev/ada0p1 /mnt/efi0
    #mkdir -p /mnt/efi0/EFI/BOOT
    #cp /boot/loader.efi /mnt/efi0/EFI/BOOT/BOOTX64.EFI
    
    22.12.2025 | Kategorie / FreeBSD / ZFS /
Hagen Bauer
image/svg+xml image/svg+xml image/svg+xml

Über diesen Blog

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Camper, technikverliebt.


< UberBlogr Webring >

This blog is licensed under a Creative Commons License