- 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
- put i an additional device
- copy partition table
- attach partition to pool
- copy bootloader
- test
- replace old boot disc in pool
Viele Opensource Icons
Braucht man immer mal wieder: Home of open source icon sets
Ich habe es gut
Nur ein Bild
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?
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
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
Wer jetzt sagt “Du musst aber LinageOS / Sailfish.. nehmen” liest sich bitte noch mal die Zielgruppe für diese Empfehlung durch.
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!
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
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.
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.
Frohe Weihnachten
Euch allen wünsche ich ruhige und entspannte Festtage im Kreise der Menschen die Euch am meisten bedeuten.
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
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