How do I setup an encrypted swap file?
When I installed Ubuntu, I setup an encrypted home partition. Now I have come to an issue where I am running out of memory because I haven't setup swap. How can I setup an encrypted swap file?
A couple of times while booting I've seen some reference to cryptswap. I've also got these lines contained in /etc/fstab
# swap was on /dev/sda6 during installation
#UUID=1ba8a53b-1842-4de7-8e38-2d6c79f3a1ab none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
Thanks to this guide I set up an encrypted swap file (can't be used for hibernation). On Debian based distributions, you will need the cryptsetup
package for these instructions.
-
Firstly create an appropriately sized file (here 4 gigabytes) to store the swap data:
fallocate -l 4G /cryptswap
-
Add the following to
/etc/crypttab
:cryptswap /cryptswap /dev/urandom swap
-
Activate the newly created encrypted drive:
service cryptdisks reload
-
Add the following to
/etc/fstab
:/dev/mapper/cryptswap none swap sw 0 0
-
Activate the new swap file:
swapon -a
Skip the reboot:
sudo cryptdisks_start cryptswap
where cryptswap
is the name in /etc/crypttab