Quick answer
How do I unlock a LUKS-encrypted rented server remotely?
To unlock a LUKS-encrypted rented server remotely, encrypt the data drives and open them over SSH after boot, or let Clevis fetch the key from your own Tang server. For an encrypted root, add dropbear-initramfs and run cryptroot-unlock (Debian and Ubuntu packages, checked 2 November 2026). Basalthold servers have no console; holds start at $110.99, crypto only, no KYC.
What do you work with on a hold?
| Console | There is no IPMI or KVM-over-IP access for customers; reboots and reinstalls you request in the dashboard are carried out by the team |
|---|---|
| Encryption | You can encrypt every data drive with LUKS or ZFS native encryption; the keys stay with you and nobody on the team ever asks for them |
| Drives | The operating system sits on its own SSD (two mirrored SSDs on the larger holds); the data drives arrive blank and unpartitioned, so you can build ZFS, an mdadm array or a set of independent disks. If you want the team to prepare a RAID 6 or RAID 10 array before delivery, say so to support before the server is handed over |
| Reinstalls | Reboots, reinstalls and cancellations are requested in the dashboard and handled by the team; a reinstall wipes every drive, data drives included |
| Login | You log in as root over SSH: paste a public key at checkout and password logins stay off, or leave it empty and receive a temporary root password with the server, to replace at your first login |
| Systems | Debian 13, Debian 12, Ubuntu 24.04 LTS, AlmaLinux 10, Rocky Linux 10, Proxmox VE 9 and Proxmox Backup Server 4 |
Which unlock method fits a server without a console?
| Method | What is encrypted | After a reboot | Risk without a console |
|---|---|---|---|
| Data drives, unlocked by SSH | The data drives; the system SSD stays plain | You log in and open the drives | Low: the system always boots |
| Data drives, Clevis and Tang | The data drives | Unlocked when your Tang server answers | Low: the passphrase still works by hand |
| Encrypted root, dropbear-initramfs | Everything, system included | You log into the initramfs and type the passphrase | High: a network mistake keeps the server offline |
Why does remote unlock matter on a rented server?
Because an encrypted drive waits for its key at every boot, and nobody is at the screen. There is no IPMI or KVM-over-IP access for customers; reboots and reinstalls you request in the dashboard are carried out by the team.
So plan the unlock before you encrypt. On a hold, the operating system lives on its own SSD and the data drives come blank. That split makes the first method easy: keep the system plain, encrypt the drives that hold your data.
Encrypt the drives that hold your data; keep the boot path simple enough to fix over SSH.
How do I encrypt the data drives and unlock them after a reboot?
Format each data drive as LUKS2, open it, and build the array on the opened devices. The passphrase never touches the server's disk. After a reboot, the system comes up, you log in over SSH, and you open the drives again. The array choice on top is on ZFS or hardware RAID.
Services that use the pool wait until you do. An outside uptime check, or a script that alerts when the pool is missing, tells you a reboot happened.
apt install cryptsetup
# ZFS tools: zfsutils-linux and zfs-dkms from Debian contrib; built into Proxmox
# once per data drive: this erases it and asks for a passphrase
cryptsetup luksFormat --type luks2 /dev/disk/by-id/ata-MODEL_SERIAL01
cryptsetup open /dev/disk/by-id/ata-MODEL_SERIAL01 data01
# ...repeat for data02, data03, data04
zpool create -o ashift=12 tank raidz2 \
/dev/mapper/data01 /dev/mapper/data02 /dev/mapper/data03 /dev/mapper/data04
# after every reboot: log in, open each drive, import the pool
cryptsetup open /dev/disk/by-id/ata-MODEL_SERIAL01 data01
# ...repeat for each drive
zpool import tankCan ZFS native encryption replace LUKS?
Yes, per dataset. Create the dataset with encryption=on and a passphrase, then run zfs load-key and zfs mount after each reboot. No initramfs work is needed.
It hides less, though. The OpenZFS manual says ZFS does not encrypt pool-structure metadata: dataset and snapshot names, properties and file sizes stay readable. LUKS encrypts the whole drive, metadata included. Both are covered by the same promise: You can encrypt every data drive with LUKS or ZFS native encryption; the keys stay with you and nobody on the team ever asks for them.
How do I unlock the drives automatically with Clevis and Tang?
Run a Tang server on a machine you control elsewhere, and bind each drive to it. Clevis adds a new key slot to LUKS and stores the encrypted key in the LUKS header. At boot it asks Tang to help recover the key; your passphrase keeps working as before.
The Clevis manual says early-boot unlocking only covers the root volume. Data drives use the late-boot unlocker, which reads /etc/crypttab. On Debian, the clevis-systemd package unlocks devices marked _netdev there.
The drives open only while the storage server can reach your Tang server. Allow only the storage server's IP address through Tang's firewall. Drives that leave that network stay locked.
# on your Tang machine, not on the storage server
apt install tang
systemctl enable tangd.socket --now
# on the storage server
apt install clevis clevis-luks clevis-systemd
clevis luks bind -d /dev/disk/by-id/ata-MODEL_SERIAL01 tang '{"url": "http://TANG_ADDRESS"}'
# ...repeat for each data drive
# /etc/crypttab, one line per drive:
# data01 /dev/disk/by-id/ata-MODEL_SERIAL01 none luks,_netdev
systemctl enable clevis-luks-askpass.path
# check the binding, or unlock by hand
clevis luks list -d /dev/disk/by-id/ata-MODEL_SERIAL01
clevis luks unlock -d /dev/disk/by-id/ata-MODEL_SERIAL01How do I unlock an encrypted root with dropbear-initramfs?
Put a small SSH server, dropbear, into the initramfs. It starts before the root filesystem, you log in with your key, and cryptroot-unlock asks for the passphrase. Debian's cryptsetup guide describes this for headless systems.
The Debian README sets the rules. Keys go in /etc/dropbear/initramfs/authorized_keys, and password logins are off. Options go in /etc/dropbear/initramfs/dropbear.conf. The network driver must be in /etc/initramfs-tools/modules, and a static address is set with the kernel's ip= parameter. The same paths apply on Debian 12, Debian 13 and Ubuntu 24.04.
The initramfs uses its own host keys, so your SSH client warns about a changed key. Keep a separate known_hosts file for it, as the README suggests.
apt install dropbear-initramfs
# your public key, limited to the unlock command
echo 'no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="/bin/cryptroot-unlock" ssh-ed25519 AAAA... you@laptop' \
> /etc/dropbear/initramfs/authorized_keys
# listen on another port than the main SSH server
echo 'DROPBEAR_OPTIONS="-p 2222"' >> /etc/dropbear/initramfs/dropbear.conf
# static address in the initramfs: client::gateway:netmask::interface:off
# add to GRUB_CMDLINE_LINUX in /etc/default/grub, for example:
# ip=203.0.113.10::203.0.113.1:255.255.255.0::eno1:off
update-grub
update-initramfs -u -k all
# from your computer, at each boot
ssh -p 2222 -o UserKnownHostsFile=~/.ssh/known_hosts.initramfs [email protected]What does encryption protect, and what not?
It protects drives that are locked: powered off, pulled for replacement, or left behind after a cancellation. That is when the host or anyone else holds the hardware without your key. What happens to drives after you leave is on data after cancellation.
While the server runs unlocked, the key sits in memory. Someone who logs in can still delete data; that risk is covered on immutable backups. For data that the server never needs to read, encrypt on your own machine before upload; see client-side encrypted backups.
Of 23 storage-server sellers Basalthold checked on 2 November 2026, 2 required ID before delivery and 12 could ask for it on triggers. Encryption protects the drives; No KYC: no ID, no selfie, no documents, no card and no phone number, at any point.
What else do people ask about remote unlock?
Is there a KVM or IPMI console on Basalthold servers?
No. There is no IPMI or KVM-over-IP access for customers; reboots and reinstalls you request in the dashboard are carried out by the team. That is why this page favours encrypting the data drives and keeping the system bootable.
What if I lock myself out?
Request a reinstall in the dashboard. Reboots, reinstalls and cancellations are requested in the dashboard and handled by the team; a reinstall wipes every drive, data drives included. Keep your data recoverable from a second copy before you change the boot path.
Does the Basalthold team need my LUKS passphrase?
No. You can encrypt every data drive with LUKS or ZFS native encryption; the keys stay with you and nobody on the team ever asks for them.
Can I use Clevis with a TPM instead of Tang?
Clevis has a TPM pin, but the key would then stay inside the rented machine. A Tang server you control keeps part of the secret away from the hardware.
Can I rent an encrypted storage server with crypto and no KYC?
Yes. Basalthold takes BTC, USDT, USDC, ETH, SOL, LTC, from a top-up of $25. Holds and terms are on the price list.
Blank drives, your keys
Hold 40: AMD Ryzen 5 3600 (6 cores / 12 threads), 64 GB DDR4, 4 × 10 TB hard drives (40 TB raw) plus 512 GB NVMe for the system, 1 Gbit/s port with 60 TB of traffic per 30 days, 1 IPv4 and an IPv6 /64, for $201.09/30 days. Crypto, no KYC.
- DomaineGoat LLC, registered in Panama
- Prices surveyed across 23 storage sellers, 2 November 2026
- No KYC, no documents
- Your encryption keys stay yours
Sources (9)
- dropbear-initramfs README.initramfs (2025.89-1~deb13u1) — Debian (read 2026-11-02)
- cryptsetup README.Debian, section 8: Remotely unlock encrypted rootfs — Debian (read 2026-11-02)
- dropbear-initramfs file list, Ubuntu noble — Ubuntu (read 2026-11-02)
- Clevis README: binding LUKS volumes — latchset (read 2026-11-02)
- clevis-luks-unlockers(7) — latchset (read 2026-11-02)
- Tang README — latchset (read 2026-11-02)
- Package clevis-systemd in Debian trixie — Debian (read 2026-11-02)
- zfs-load-key(8): encryption — OpenZFS (read 2026-11-02)
- nfsroot: the ip= kernel parameter — Linux kernel documentation (read 2026-11-02)