Hallo Leute!
Ich habe ein Problem... Ich muss eine frische Debian auf einem Rechner installieren, der in Italien ist. Zwar habe ich die Möglichkeit eine ISO zu packen, die gleich eine Installation über SSH startet, das habe ich schon mehrmals gemacht, aber...
... diesmal habe ich ein Problem mehr... Der Rechner ist _NICHT_ über Internet erreichbar und ich habe auch keinerlei Möglichkeit die Situation zu ändern (zur Erklärung, das wäre der Rechner meiner Eltern und sie nutzen das Internet über ein LTE-Router. Portweiterleitung geht nicht, auch wenn ich schaffen würde, meine Mutter per Telefon zu erklären, wie das einzurichten ist). Ich könnte allerdings ein VPN-Tunnel starten und damit die SSH-Installation durchführen, aber richtig verstanden, wie diese preseed.cfg funktioniert und wie ich damit OpenVPN installieren und einrichten kann, habe ich nicht...
Vielleicht kennt sich jemand mit der Materie aus und kann mir ein paar Tipps geben? Ich könnte eine OVPN-Datei vorbereiten, mit der ganzen Konfiguration und Zertifikate, so dass das System sich gleich einwählen könnte. Aber bisher scheitere ich schon bei der Installation von OpenVPN in der Installationsumgebung...
Danke für eure Hilfe! Luca Bertoncello (lucabert@lucabert.de)
Am Mittwoch, dem 27.10.2021 um 22:07 +0200 schrieb Luca Bertoncello:
Ich habe ein Problem... Ich muss eine frische Debian auf einem Rechner installieren, der in Italien ist. Zwar habe ich die Möglichkeit eine ISO zu packen, die gleich eine Installation über SSH startet, das habe ich schon mehrmals gemacht, aber...
... diesmal habe ich ein Problem mehr... Der Rechner ist _NICHT_ über Internet erreichbar und ich habe auch
[..]
Vielleicht kennt sich jemand mit der Materie aus und kann mir ein paar Tipps geben?
Ich erstelle regelmäßig custom Debian Installer mit Preseed-Datei für diverse Zwecke. Dazu setze ich simple-cdd ein und have diverse Profile vorkonfiguriert [1]. Du kannst mit der preseed-Datei das System vollständig einrichten, also ohne die Installation via SSH zu Ende führen zu müssen.
Es wäre mir übrigens neu, dass die network-console neben SSH auch noch VPN unterstützt. Du kannst nur ein vollständiges System aufsetzen, dann eine VPN- Config verschicken (s.u. oder via preseed vorinstallieren), dammit du _nach_ der erfolgreichen Installation auf das System zugreifen und ggf. weiter konfigurieren kannst. Das ist es, was du möchtest, oder?
Ich könnte eine OVPN-Datei vorbereiten, mit der ganzen Konfiguration und Zertifikate, so dass das System sich gleich einwählen könnte. Aber bisher scheitere ich schon bei der Installation von OpenVPN in der Installationsumgebung...
Ich habe ein OpenVPN-AS-Profil für den Installer. Alllerdings brauchst du doch nur den Client, oder? Sprich, das openvpn-Paket muss doch nur zu "d-i pkgsel/include" hinzugefügt werden. Oder willst du ein passendes Plugin für den network-manager und dann ein passendes Profil gleich ins Zielsystem installieren? Sollte auch problemlos möglich sein.
Ein weiterer Nutzer hat kürzlich die notwendige preseed gepostet, um das System zu verschlüsseln (LVM):
https://github.com/countermeasure/basic-box/blob/main/profiles/basic.preseed
Ich bin noch dran, das ganze ohne LVM zu machen.
Also wenn du Hilfe bei der preseed brauchst, melde dich gerne. Ich kann dir helfen, diese anzupassen und die fertige ISO zu bauen.
[1] https://salsa.debian.org/dleidert/cdd
Gruß Daniel
Am Mittwoch, dem 27.10.2021 um 22:07 +0200 schrieb Luca Bertoncello:
[..]
Vielleicht kennt sich jemand mit der Materie aus und kann mir ein paar Tipps geben?
Noch ein zweiter Gedanke. Man kann Debian hervorragend über ein Rescue-System aufspielen. Warum nicht das Ziel-System mit einem Live-System booten, openvpn- Client darauf installieren, OpenVPN-Config schicken, in den VPN-Server einloggen, und dann kannst du die Installation remote via debootstrap vornehmen.
MfG Daniel
Am 28.10.2021 08:13, schrieb Daniel Leidert:
Hallo Daniel
Noch ein zweiter Gedanke. Man kann Debian hervorragend über ein Rescue-System aufspielen. Warum nicht das Ziel-System mit einem Live-System booten, openvpn- Client darauf installieren, OpenVPN-Config schicken, in den VPN-Server einloggen, und dann kannst du die Installation remote via debootstrap vornehmen.
Schaffst du meine 80-jährige Mutter zu erklären, wie sie das macht? ;) Ich wollte diese ISO deswegen machen, weil sie dann nur noch die CD einlegen soll, bzw. den USB-Stick verbinden, und der ganze Rest wird automatisch gemacht.
Sonst dauert es viel weniger, wenn ich zu Fuß nach Italien laufe und das selber mache... :D
Grüße Luca Bertoncello (lucabert@lucabert.de)
Am Donnerstag, dem 28.10.2021 um 09:25 +0200 schrieb Luca Bertoncello:
Am 28.10.2021 08:13, schrieb Daniel Leidert:
Hallo Daniel
Noch ein zweiter Gedanke. Man kann Debian hervorragend über ein Rescue-System aufspielen. Warum nicht das Ziel-System mit einem Live-System booten, openvpn- Client darauf installieren, OpenVPN-Config schicken, in den VPN-Server einloggen, und dann kannst du die Installation remote via debootstrap vornehmen.
Schaffst du meine 80-jährige Mutter zu erklären, wie sie das macht? ;)
USB-Stick rein und booten (muss sie ja auch so machen)
Und dann nur tippen:
sudo passwd debian/ubuntu (Passwort setzen) sudo apt-get install openvpn ssh sudo openvpn --config <deineconfig.ovpn>
Fertig. Nun solltest du in der Lage sein, dich mit SSH zu verbinden.
Ich wollte diese ISO deswegen machen, weil sie dann nur noch die CD einlegen soll, bzw. den USB-Stick verbinden, und der ganze Rest wird automatisch gemacht.
Sonst dauert es viel weniger, wenn ich zu Fuß nach Italien laufe und das selber mache... :D
Wie gesagt, ich helfe dir gerne eine ISO mit preseed fertig zu machen. Kein Thema.
Vielleicht geht es sogar noch schneller, die Live-CD so anzupassen, dass die genannten Pakete vorinstalliert sind, der Nutzer ein Passwort hat und die openvpn-Verbindung automatisch gestart wird. Mehr brauchst du doch gar nicht, oder?
Gruß, Daniel
Am 28.10.2021 11:32, schrieb Daniel Leidert:
Hallo Daniel,
USB-Stick rein und booten (muss sie ja auch so machen)
Das kriegen sie hin...
Und dann nur tippen:
sudo passwd debian/ubuntu (Passwort setzen) sudo apt-get install openvpn ssh sudo openvpn --config <deineconfig.ovpn>
Und da wird es ewig dauern, bis alles gemacht wird und nicht X-tausend Mal vertippt...
Wie gesagt, ich helfe dir gerne eine ISO mit preseed fertig zu machen. Kein Thema.
Danke dir! Ich habe auch schon so was gemacht. Aktuell würde ich sagen, dass es scheitert an der Installation von OpenVPN, da ich einen udeb-Datei dafür brauche und eine richtige Dokumentation, wie ich das anlege, habe ich bisher nicht gefunden...
Vielleicht geht es sogar noch schneller, die Live-CD so anzupassen, dass die genannten Pakete vorinstalliert sind, der Nutzer ein Passwort hat und die openvpn-Verbindung automatisch gestart wird. Mehr brauchst du doch gar nicht, oder?
Das könnte eine Möglichkeit sein... Kannst du mir ein paar Tipp geben, wie ich das machen kann? Ich will auch jeden Falls eine Debian 10 erstmal installieren. Keine Ubuntu.
Danke Luca Bertoncello (lucabert@lucabert.de)
Am Donnerstag, dem 28.10.2021 um 11:37 +0200 schrieb Luca Bertoncello:
Am 28.10.2021 11:32, schrieb Daniel Leidert:
Hallo Daniel,
USB-Stick rein und booten (muss sie ja auch so machen)
Das kriegen sie hin...
Und dann nur tippen:
sudo passwd debian/ubuntu (Passwort setzen) sudo apt-get install openvpn ssh sudo openvpn --config <deineconfig.ovpn>
Und da wird es ewig dauern, bis alles gemacht wird und nicht X-tausend Mal vertippt...
Jetzt mal ernsthaft, das sind drei Befehle. Gibt es da nicht jemanden in der Nachbarschaft, der vielleicht etwas jünger und affiner ist und diese drei Kommandos eintippen kann?
Wie gesagt, ich helfe dir gerne eine ISO mit preseed fertig zu machen. Kein Thema.
Danke dir! Ich habe auch schon so was gemacht. Aktuell würde ich sagen, dass es scheitert an der Installation von OpenVPN, da ich einen udeb-Datei dafür brauche und eine richtige Dokumentation, wie ich das anlege, habe ich bisher nicht gefunden...
Was du brauchst, ist vermutlich sehr viel komplizierter, da der Installer OpenVPN nicht einfach unterstützt. Der Installer ist hier beschrieben:
https://d-i.debian.org/doc/internals/
Und dann müsstest du dir die udebs von openssh-server und network-console anschauen, um zu verstehen, wie SSH in den Installer integriert wurde und das muss dann für openvpn nachgebaut werden. Das scheint mir, offen gesagt, der komplizierteste von allen Wegen zu sein.
IMHO würdest du sehr viel schneller sein, einfach ein komplettes System via preseed zu installieren und nach dem Neustart die openvpn-Verbindung nach network-online.target automatisch zu starten (das System kann man mit late_command in der preseed-Datei entsprechend präparieren, und so z.B. Dateien erstellen oder kopieren). Wir können uns das gerne mal in einer VM anschauen.
Vielleicht geht es sogar noch schneller, die Live-CD so anzupassen, dass die genannten Pakete vorinstalliert sind, der Nutzer ein Passwort hat und die openvpn-Verbindung automatisch gestart wird. Mehr brauchst du doch gar nicht, oder?
Das könnte eine Möglichkeit sein... Kannst du mir ein paar Tipp geben, wie ich das machen kann?
https://live-team.pages.debian.net/live-manual/html/live-manual/ https://wiki.ubuntuusers.de/LiveCD_manuell_remastern/
Ich will auch jeden Falls eine Debian 10 erstmal installieren. Keine Ubuntu.
Es ist doch im Prinzip egal, was für ein Live-System es ist. Es geht doch nur darum, via VPN eine SSH-Verbindung zu ermöglichen. Die Installation würde danach manuell mit debootstrap stattfinden.
HTH Daniel
Am 28.10.2021 12:33, schrieb Daniel Leidert:
Hallo Daniel,
Was du brauchst, ist vermutlich sehr viel komplizierter, da der Installer OpenVPN nicht einfach unterstützt. Der Installer ist hier beschrieben:
Das ist genau was ich mir aktuell anschaue... Einfach ist es wirklich nicht...
IMHO würdest du sehr viel schneller sein, einfach ein komplettes System via preseed zu installieren und nach dem Neustart die openvpn-Verbindung nach network-online.target automatisch zu starten (das System kann man mit late_command in der preseed-Datei entsprechend präparieren, und so z.B. Dateien erstellen oder kopieren). Wir können uns das gerne mal in einer VM anschauen.
Ich verstehe nicht ganz was du meinst... Kannst du mir bitte das erklären?
Danke Luca Bertoncello (lucabert@lucabert.de)
Am Donnerstag, dem 28.10.2021 um 12:38 +0200 schrieb Luca Bertoncello:
Am 28.10.2021 12:33, schrieb Daniel Leidert:
[..]
IMHO würdest du sehr viel schneller sein, einfach ein komplettes System via preseed zu installieren und nach dem Neustart die openvpn-Verbindung nach network-online.target automatisch zu starten (das System kann man mit late_command in der preseed-Datei entsprechend präparieren, und so z.B. Dateien erstellen oder kopieren). Wir können uns das gerne mal in einer VM anschauen.
Ich verstehe nicht ganz was du meinst... Kannst du mir bitte das erklären?
Klar. Mit der preseed-Datei kannst du den Installer so vorkonfigurieren, dass er ohne jegliche Rückfrage das System partitioniert, installiert und einrichtet. Dazu werden debconf-Fragen durch die Preseed-Datei im Voraus beantwortet. Korrekt? Es gibt allerdings auch noch zwei Debconf-Schlüssel, die das Ausführen von Befehlen (durch Semikolon getrennt) zulassen. Diese beiden Schlüssel heißen:
d-i preseed/early_command string <string> d-i preseed/late_command string <string>
Ersteres wird i. d. R. verwendet, um anna-install aufzurufen. Letzteres wird sehr spät im Installationsvorgang aufgerufen. Da ist das Zielsystem dann bereits installiert. Mann kann dann Befehle in der Init Ramdisk des Installers ausführen oder im Zielsystem, das unter /target installiert wurde. Für letzeres stellst du dem Befehl einfach ein 'in-target' voran (das ist ein Befehl in der Ramdisk, der im Prinzip einfach ein 'chroot /target' macht, bevor der Befehl ausgeführt wird).
Sagen wir mal, du hast das Installer-Medium so angepasst, dass du deine .ovpn- Datei und eine systemd-Service-Datei, um die openvpn-Verbindung nach dem Systemstart automatisch zu starten, auf die Installer-CD gepackt hast (mit simple-cdd ist das ganz einfach). Dann könnte das ganze mit late_command so aussehen:
d-i pkgsel/include string openvpn [..] [..] d-i tasksel/first multiselect ssh-server [..] tasksel tasksel/first multiselect ssh-server [..] [..] d-i preseed/late_command string \ cp /path/to/luca.ovpn /target/root/ ; \ cp /path/to/lucavpn.service /target/lib/systemd/system/ ; in-target systemctl enable lucavpn.service ; \ in-target adduser <ssh_user> ssh
Wenn der Installer fertig ist und das fertige System neu gestartet wird, dann sollte automatisch, nachdem das Netzwerk online ist, eine OpenVPN-Verbindung gestartet werden, wenn die installierte Service-Datei in etwa so aussieht:
[Unit] Requires=network-online.target After=network-online.target [Service] ExecStart=/usr/sbin/openvpn --config /root/luca.ovpn [Install] WantedBy=multi-user.target
Mit dem eingerichteten <ssh_user> kannst du dich dann einloggen und die Konfiguration vervollständigen.
Hallo,
Was du brauchst, ist vermutlich sehr viel komplizierter, da der Installer OpenVPN nicht einfach unterstützt. Der Installer ist hier beschrieben:
https://d-i.debian.org/doc/internals/
Und dann müsstest du dir die udebs von openssh-server und network-console anschauen, um zu verstehen, wie SSH in den Installer integriert wurde und das muss dann für openvpn nachgebaut werden. Das scheint mir, offen gesagt, der komplizierteste von allen Wegen zu sein.
wenn das Problem wirklich die Installation des OpenVPN-Servers ist, kannst du auch automatisch beim Booten eine SSH-Verbindung zu einer von dir kontrollierten Kiste aufmachen (in einem screen oder per Telefon), z.B. mit
ssh -R 2222:127.0.0.1:22 user@zielsystem
(Key hinterlegt, Host-Key schonmal akzeptiert o.ä.)
um dann von deiner Kiste aus mit ssh -p 2222 localhost auf den PC in Italien zu gelangen.
Viel Erfolg
morphium
lug-dd@mailman.schlittermann.de