mirror of
https://github.com/kevinveenbirkenbach/hetzner-arch-luks.git
synced 2024-11-24 02:31:04 +01:00
Optimized guide
This commit is contained in:
parent
02f5ad572f
commit
36af809467
55
README.md
55
README.md
@ -1,4 +1,4 @@
|
|||||||
# Arch Linux with LUKS and btrfs on a hetzner server (DRAFT)
|
# Arch Linux with LUKS and btrfs on a Hetzner server (DRAFT)
|
||||||
|
|
||||||
## Software
|
## Software
|
||||||
This guide shows how to set up the following software composition:
|
This guide shows how to set up the following software composition:
|
||||||
@ -19,9 +19,9 @@ Total capacity 5589 GiB with 2 Disks
|
|||||||
## Legend
|
## Legend
|
||||||
The following symbols show in which environment the code is executed:
|
The following symbols show in which environment the code is executed:
|
||||||
* :computer: Client
|
* :computer: Client
|
||||||
* :ambulance: Rescue System
|
* :ambulance: [Hetzner Rescue System](https://wiki.hetzner.de/index.php/Hetzner_Rescue-System/en)
|
||||||
* :ghost: Chroot from Rescue System into Arch
|
* :ghost: Chroot from Rescue System into Arch
|
||||||
* :minidisc: Arch Os
|
* :minidisc: Arch OS
|
||||||
|
|
||||||
## Guide
|
## Guide
|
||||||
### 1. Configure and Install Image
|
### 1. Configure and Install Image
|
||||||
@ -99,10 +99,25 @@ pacman -S nano
|
|||||||
```
|
```
|
||||||
|
|
||||||
### 3. Prepare System for Unlocking via SSH
|
### 3. Prepare System for Unlocking via SSH
|
||||||
#### 3.1 Execute the following script
|
#### 3.1 Install software
|
||||||
:minidisc: :
|
:minidisc: :
|
||||||
```bash
|
```bash
|
||||||
pacman -S busybox mkinitcpio-dropbear mkinitcpio-utils mkinitcpio-netconf
|
pacman -S busybox mkinitcpio-dropbear mkinitcpio-utils mkinitcpio-netconf
|
||||||
|
```
|
||||||
|
#### 3.3 Copy authorized keys to dropbear
|
||||||
|
> :warning: I don't know if the following step is correct. Later during executing ***mkinitcpio -p linux*** the following error appears:
|
||||||
|
```bash
|
||||||
|
-> Running build hook: [dropbear]
|
||||||
|
Error: Unrecognised key type
|
||||||
|
Error reading key from '/etc/ssh/ssh_host_rsa_key'
|
||||||
|
Error: Unrecognised key type
|
||||||
|
Error reading key from '/etc/ssh/ssh_host_dsa_key'
|
||||||
|
Error: Unrecognised key type
|
||||||
|
Error reading key from '/etc/ssh/ssh_host_ecdsa_key'
|
||||||
|
```
|
||||||
|
I assume this is connected to this.
|
||||||
|
|
||||||
|
```bash
|
||||||
cp -v ~/.ssh/authorized_keys /etc/dropbear/root_key
|
cp -v ~/.ssh/authorized_keys /etc/dropbear/root_key
|
||||||
```
|
```
|
||||||
#### 3.2 Modify /etc/mkinitcpio.conf
|
#### 3.2 Modify /etc/mkinitcpio.conf
|
||||||
@ -119,11 +134,15 @@ New:
|
|||||||
```
|
```
|
||||||
HOOKS=(base udev autodetect modconf block mdadm_udev lvm2 netconf dropbear encryptssh filesystems keyboard fsck)
|
HOOKS=(base udev autodetect modconf block mdadm_udev lvm2 netconf dropbear encryptssh filesystems keyboard fsck)
|
||||||
```
|
```
|
||||||
> :warning: In the original example the initramfs get modified. Don't know if this is still necessary:
|
> :warning: In [one of the guides](http://daemons-point.com/blog/2019/10/20/hetzner-verschluesselt/#etcinitramfs-toolsinitramfsconf-anpassen) the ***/etc/initramfs-tools/initramfs.conf*** get modified. Don't know how to implement this for ***mkinitcpio***.<br>
|
||||||
/etc/initramfs-tools/initramfs.conf<br>
|
**Old:**
|
||||||
Alt: BUSYBOX=auto <br>
|
```
|
||||||
Neu: BUSYBOX=y <br>
|
BUSYBOX=auto
|
||||||
http://daemons-point.com/blog/2019/10/20/hetzner-verschluesselt/#etcinitramfs-toolsinitramfsconf-anpassen
|
```
|
||||||
|
**New:**
|
||||||
|
```
|
||||||
|
BUSYBOX=y
|
||||||
|
```
|
||||||
|
|
||||||
### 4. Activate Encryption
|
### 4. Activate Encryption
|
||||||
#### 4.1 Activate Rescue System
|
#### 4.1 Activate Rescue System
|
||||||
@ -229,11 +248,17 @@ mkinitcpio -p linux
|
|||||||
pacman -S grub
|
pacman -S grub
|
||||||
```
|
```
|
||||||
#### 5.2 Configure /etc/default/grub
|
#### 5.2 Configure /etc/default/grub
|
||||||
|
|
||||||
:ghost: :
|
:ghost: :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nano /etc/default/grub
|
||||||
|
```
|
||||||
> :warning: I'm not shure if the following is correct. Please check out this [link](https://wiki.archlinux.org/index.php/Dm-crypt/Specialties#Remote_unlocking_(hooks:_netconf,_dropbear,_tinyssh,_ppp)) . I appreciate feedback :two_hearts:
|
> :warning: I'm not shure if the following is correct. Please check out this [link](https://wiki.archlinux.org/index.php/Dm-crypt/Specialties#Remote_unlocking_(hooks:_netconf,_dropbear,_tinyssh,_ppp)) . I appreciate feedback :two_hearts:
|
||||||
|
|
||||||
Edit /etc/default/grub and tell the Kernel about the cryptdevice and the mdraid, and netconf that we want dhcp:
|
> :warning: I don't know if the raid also needs to be configured in the GRUB_CMDLINE_LINUX parameter.
|
||||||
|
|
||||||
|
Change the following parameters:
|
||||||
```bash
|
```bash
|
||||||
GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:root ip=dhcp"
|
GRUB_CMDLINE_LINUX="cryptdevice=/dev/md1:root ip=dhcp"
|
||||||
GRUB_ENABLE_CRYPTODISK=y # Not secure if necessary
|
GRUB_ENABLE_CRYPTODISK=y # Not secure if necessary
|
||||||
@ -283,6 +308,7 @@ mount --bind /proc /mnt/proc
|
|||||||
chroot /mnt
|
chroot /mnt
|
||||||
```
|
```
|
||||||
### 7.2 Logout from chroot environment
|
### 7.2 Logout from chroot environment
|
||||||
|
:ghost: :ambulance :
|
||||||
```bash
|
```bash
|
||||||
exit
|
exit
|
||||||
umount /mnt/boot /mnt/proc /mnt/sys /mnt/dev
|
umount /mnt/boot /mnt/proc /mnt/sys /mnt/dev
|
||||||
@ -291,6 +317,15 @@ sync
|
|||||||
reboot
|
reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 7.3 Regenerate GRUB and Arch
|
||||||
|
:ghost: :
|
||||||
|
```bash
|
||||||
|
mkinitcpio -p linux
|
||||||
|
grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
|
grub-install /dev/sda
|
||||||
|
grub-install /dev/sdb
|
||||||
|
```
|
||||||
|
|
||||||
## Sources
|
## Sources
|
||||||
The code is adapted from the following guides:
|
The code is adapted from the following guides:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user