Dê uma olhada no link . Você pode trocar o gancho mkninitcpio encrypt por encryptssh e adicionar algumas coisas à sua linha de inicialização do kernel. Estou usando o gancho dropbear e funciona muito bem.
Eu tenho um sistema Linux Arch em execução em um VPS. O rootfs é instalado em uma partição LVM. Eu gostaria de sobrepor um container criptografado nesta partição, então reinstalar o rootfs nele e habilitar o ssh unlock no boot via ssh. Tenho o prazer de descartar todo o conteúdo dos rootfs existentes e criar um novo a partir do zero.
Estou procedendo da seguinte forma:
Os passos 6 e 7 estão bem documentados (por exemplo, aqui ).
Aqui estão os detalhes do passo 4, que funciona bem:
# we start after step 2, so that /tmp/newroot contains a minimal temporary root fs
# with network, sshd and pacman, and the command prompt is from the original root
# move the new root fs to a newly create /tmproot, as per the referenced post
# (perhaps this is redundant, I could have used newroot directly, but it should not harm)
mkdir /tmp/tmproot
mount -t tmpfs none /tmp/tmproot
mv /tmp/newroot/* /tmp/tmproot
# switch to new root
mount -a
mount --make-rprivate / # necessary for pivot_root to work
pivot_root /tmp/tmproot /tmp/tmproot/oldroot
# move some directories to newroot
for i in dev proc sys run; do mount --move /oldroot/$i /$i; done
Estou preso à etapa 5. Usando fuser -vm /oldroot
, vejo muitos processos ainda pendentes na antiga partição raiz. Se eu tentar reiniciá-los a partir do newroot usando systemctl
, recebo um erro:
# systemctl restart sshd
Failed to restart sshd service: Failed to activate service 'org.freedesktop.systemd1': timed out
Eu posso matá-los manualmente, mas depois fico com apenas o processo init systemd
, e parece não haver maneira de matar isso. systemctl daemon-reexec
não funciona.
Talvez eu tenha esquecido de configurar algo no meu sistema de arquivos newroot
?
Talvez eu deva usar switch_root
em vez de pivot_root
Alguma sugestão? Obrigado
Dê uma olhada no link . Você pode trocar o gancho mkninitcpio encrypt por encryptssh e adicionar algumas coisas à sua linha de inicialização do kernel. Estou usando o gancho dropbear e funciona muito bem.