
暗号化されたスワップ+休止状態を有効にする方法がありますUbuntu。 nixosで暗号化された交換を実行する方法(randomEncryption.enable = trueを使用)と休止状態で交換を実行する方法もあります。暗号通貨取引所を休止状態にする方法はありますか?
答え1
つまり、暗号化されたスワップで休止状態モードを使用するには、キーファイルを生成してからそのファイルを使用してLUKS暗号化スワップパーティションをロック解除する必要があります。これは、休止状態と互換性のないランダム暗号化キーの使用とは対照的です。
もちろん、この方法を使用するときは、キーファイルの場所が重要です。最善の方法は、ルートファイルシステムを暗号化し、ここにキーファイルを保存することです(例:/root/swap.key)。この場合、起動中にルートファイルシステムパスワードの入力を求められます。これにより、起動プロセスでキーファイルが使用可能になり、スワップLUKSコンテナのロックを解除し、デバイスをスワップデバイスに「ロック解除」できます。
説明する
メモ: この手順は、単にコピーして貼り付けることができるものではなく、一般的な手順と考えてください。
インストールメディアを起動した後...
パーティション、LUKSコンテナ、ファイルシステムを作成してマウントします。
キーファイルの生成:dd count=1 bs=512 if=/dev/urandom of=/mnt/root/swap.key
キーファイルを使用して暗号化された交換用のLUKSコンテナを作成します。
交換LUKSコンテナのロックを解除し、にフォーマットしてmkswap
有効にしますswapon
。
引き続きNixOS設定を作成します。これまでは、通常のNixOSインストールと同じです。
キーファイルの生成:dd count=1 bs=512 if=/dev/urandom of=/mnt/root/swap.key
swapDevices
設定をからに/mnt/etc/nixos/hardware-configuration.nix
移動します/mnt/etc/nixos/configuration.nix
。注:再実行するには、この手順を繰り返す必要がありますnixos-generate-config
。
swapDevices
暗号化を有効にするには編集してください/mnt/etc/nixos/configuration.nix
。例は次のとおりです。
swapDevices =
[ {
device = "/dev/disk/by-uuid/..."; #This is already done for you. Leave as-is.
encrypted = {
enable = true;
keyFile = "/mnt-root/root/swap.key"; #Yes, /mnt-root is correct.
label = "..."; The name used with `cryptsetup` when unlocking the LUKS container. It can be whatever you want, ex "luksswap".
blkDev = "/dev/disk/by-uuid/[UUID of the LUKS partition]";
};
}
];
を使用してLUKSパーティションのUUIDを取得できますlsblk -o name,uuid
。
最後nixos-rebuild boot
にシステムを再起動します。再起動後、NixOSは暗号化されたスワップパーティションのロックを解除して有効にします。そうでない場合は、journalctl -b
関連するエラーを確認してください。
答え2
だから私のアプローチは次のとおりです。
- デフォルトデバイスと同じパスワードでluksデバイスを作成します。
sudo cryptsetup -y -v luksFormat /dev/nvme0n1p1
- 再起動してUUIDが正しく更新されたことを確認します(最初の再起動後になぜ変更されたのかわかりません)。
- initrdにデバイスをマウントするための設定を追加します。
boot.initrd.luks.devices."swap".device = "/dev/disk/by-uuid/936542de-2068-41b7-b804-741ec80a59c6";
- デバイスの電源が正しく入るように再起動してください。パスワードが同じ場合、luksは一度だけ尋ねられ、同じパスワードを使用するすべてのデバイスを開こうとします。
- 以下で取得したオープンボリュームのUUIDを使用して純粋な設定を追加します
blkid
。swapDevices = [{ device = "/dev/disk/by-uuid/772a37e9-c010-4942-8f3d-b7f645092b02"; }];
- 休止状態と
pm-hibernate
。