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