Ich bastele mir gerade ein Container-Template auf Debian 11 Basis, aus dem ich mir bei Bedarf schnell neue LXC-Container klonen kann.
Bevor ich den Basis-Container in ein Template konvertiert habe, hatte ich
In den geklonten Containern wird
Jetzt hatte ich die Idee, das mittels Script automatisch machen zu lassen. Das Script muss natürlich schon im Template angelegt werden.
Das Prinzip ist einfach: Das Script prüft, ob unter /etc/ssh Dateien mit dem Muster ssh_host_* existieren. Falls ja, tut es nichts. Falls nein, ruft es
Die Frage ist: Wo und wie wird das Script am Besten in den System-Start des Containers eingepflanzt?
Wo ich mich zuletzt mit solchen Themen beschäftigt hatte, gab's noch kein systemd.
Hier das Script:
Bevor ich den Basis-Container in ein Template konvertiert habe, hatte ich
/etc/machine-id
und die Host-Keys unter /etc/ssh/ssh_host_*
gelöscht.In den geklonten Containern wird
/etc/machine-id
automatisch neu generiert. Die Host-Keys aber nicht, die müssen mittels dpkg-reconfigure openssh-server
manuell neu generiert werden.Jetzt hatte ich die Idee, das mittels Script automatisch machen zu lassen. Das Script muss natürlich schon im Template angelegt werden.
Das Prinzip ist einfach: Das Script prüft, ob unter /etc/ssh Dateien mit dem Muster ssh_host_* existieren. Falls ja, tut es nichts. Falls nein, ruft es
dpkg-reconfigure openssh-server
auf.Die Frage ist: Wo und wie wird das Script am Besten in den System-Start des Containers eingepflanzt?
Wo ich mich zuletzt mit solchen Themen beschäftigt hatte, gab's noch kein systemd.
Hier das Script:
Code:
#! /bin/bash
# name: initsshkeys.sh
KEY_FOLDER=/etc/ssh/
FILE_PATTERN=ssh_host_*
if ! (find $KEY_FOLDER -type f -name $FILE_PATTERN -printf 1 -quit | grep -q 1); then
dpkg-reconfigure openssh-server
fi