Dracut- unlock hard-disk at boot with ssh
Installation der benötigten Pakete
yum install epel-release
yum install wget putty
wget -O /etc/yum.repos.d/rbu-dracut-crypt-ssh-epel-7.repo https://copr.fedorainfracloud.org/coprs/rbu/dracut-crypt-ssh/repo/epel-7/rbu-dracut-crypt-ssh-epel-7.repo
yum install dracut-crypt-ssh
Dracut-Crypt konfigurieren
Im ersten Schritt erstellen wir uns dein Verzeichnis für die Schlüsselzertifikate.
mkdir -p /keys/dropbear
In der Konfigurationsdatei crypt-ssh.conf
können wir den SSH-Port anpassen und den Pfad zu unserer authorized_keys
Datei einfügen.
vi /etc/dracut.conf.d/crypt-ssh.conf
...
dropbear_port 445
...
...dropbear_acl="/keys/dropbear/authorized_keys"
...
Den privaten und den öffentlichen Schlüssel erzeugen
Mit Putty generieren wir uns nun unsere beiden Schlüssel:
puttygen -t rsa -b 2048 -o serverkey.ppk
Den generierten Schlüssel können wir auf einem Windows-PC ablegen und verwenden ihn zusammen mit Putty für die Authentifizierung am Server beim Systemstart.
Für Mac- oder Linux-Systemen müssen wir uns eine OpenSSH-Key mit Putty generieren.
puttygen serverkey.ppk -O private-openssh -o serverkey.pem
Den öffentlichen Schlüssel können wir gleich direkt am Server in die authorized_keys
Datei speichern.
puttygen -L serverkey.ppk > /keys/dropbear/authorized_keys
GRUB network access
Im nächsten Schritt müssen wir GRUB so konfigurieren, dass Netzwerkverbindungen beim Systemstart angenommen werden können.
vi /etc/default/grub
Wir suchen nach GRUB_CMDLINE_LINUX
und fügen folgende Zeile ein:
"...rd.neednet=1 ip=192.168.0.100::192.168.0.1:255.255.255.0:centos:eth0:off:8.8.8.8:8.8.4.4"
IP, Subnet und Gateway müssen angepasst werden.
Zum Schluss generieren wir GRUB neu und bauen die initramfs Dateien.
grub2-mkconfig --output /etc/grub2.cfg
dracut --force
Neustart und testen
Nachdem wir das System neu gestartet haben, können wir uns mit dem privaten Schlüssel an unserem System anmelden.
Mit Putty verwenden wir die serverkey.ppk
. Über SSH könne wir nachstehenden Befehl verwenden.
ssh -i serverkey.pem root@server.your-domain.com -p 445
Festplatte entsperren
Nachdem wir uns erfolgreich im System angemeldet haben, können wir mit Befehl console_auth
die Festplatte entsperren. Nachdem wir den Festplattenschlüssel eingegeben haben, sollte das System booten.
console_auth
If DNS is not working
Edit the file:
root$ |
|
And add this lines at the end of the file:
DNS1=8.8.8.8
DNS2=8.8.4.4
Quellen
Forum description.
Original description at github.
https://github.com/dracut-crypt-ssh/dracut-crypt-ssh
Putty-Schlüssel erzeugen.
https://www.ssh.com/ssh/putty/linux/
Putty OpenSSH-Schlüssel erzeugen
https://www.ssh.com/ssh/putty/mac/#sec-How-to-use-PuTTY-SSH-keys-with-the-built-in-OpenSSH
Kommentare