Linux

如何在 Linux 中設置加密交換文件?

  • December 31, 2017

**2017 警告!**接受的答案似乎有效,但是對於最近的核心,我發現系統一開始交換就會掛起。如果您嘗試使用加密的交換文件,請確保它確實正確交換。我花了很長時間才弄清楚為什麼我的系統無緣無故地一直鎖定。我已經回到使用加密交換分區,它確實可以正常工作。


如何在 Linux 中設置加密交換文件(不是分區)?甚至可能嗎?我找到的所有指南都在談論加密交換分區,但我沒有交換分區,我寧願不必重新分區我的磁碟。

我不需要對磁碟的掛起支持,所以我想在每次啟動時使用一個隨機密鑰。

我已經在為我的數據使用TrueCrypt文件託管卷,但我不想將我的交換放在那個卷中。如果有更好的解決方案,我不會將 TrueCrypt 用於交換文件。

如果這很重要,我正在使用帶有預設核心的Arch Linux 。

實際上,該頁面描述了設置分區,但它與交換文件類似:

dd if=/dev/urandom of=swapfile.crypt bs=1M count=64
loop=$(losetup -f)
losetup ${loop} swapfile.crypt
cryptsetup open --type plain --key-file /dev/urandom ${loop} swapfile
mkswap /dev/mapper/swapfile
swapon /dev/mapper/swapfile

結果:

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/mapper/swap0                       partition       4000176 0       -1
/dev/mapper/swap1                       partition       2000084 0       -2
/dev/mapper/swapfile                    partition       65528   0       -3

swap0 和 swap1 是真正的分區。

引用自:https://unix.stackexchange.com/questions/64551