AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[cryptsetup](unix)

Martin Hope
Mr. T
Asked: 2023-09-28 09:50:21 +0800 CST

Ubuntu 22.04 cryptsetup-reencrypt 失败并显示“无法独占打开 /dev/mmcblk0p3,设备正在使用”

  • 5

我有一个Ubuntu 22.04系统,需要更改LUKS加密密钥并重新加密数据。这是根文件系统,因此我无法卸载它,并且我没有物理访问权限来启动实时系统。与许多标准的全磁盘加密设置一样,“/dev/mmcblk0p3”使用 LUKS 加密,并包含一个带有文件系统的 LVM。

根据LUKS 发行说明,我的理解是,在 2.2.0 版本之后,此功能存在(在线重新加密),但在 2.4.3 版本上,我无法让它工作。

如果我使用该命令,sudo cryptsetup-reencrypt /dev/mmcblk0p3我会收到错误Cannot exclusively open /dev/mmcblk0p3, device in use。我发现的一些文档副本表明可以使用参数 --force-offline-encryption,但我的 cryptsetup 命令无法识别它。

我该如何解决这个错误?

cryptsetup
  • 1 个回答
  • 37 Views
Martin Hope
Dor
Asked: 2022-07-11 14:19:59 +0800 CST

带有 LUKS 的 cryptsetup:密钥大小差异

  • 1

在 LUKS 中使用 cryptsetup 时,手册多次使用术语“key”和“size”,例如:

--keyfile-size (in bytes)
--key-size (in bits)

允许的值为--key-size256 位(默认)或 512 位。

后来,在“默认编译的密钥和密码参数:”子句下,它说:

Maximum keyfile size: 8192kB, Maximum interactive passphrase length 512 (characters)

我对这些键的含义感到困惑。
与 flag 相关的关键点是--key-size什么?
它不应该是与标志--keyfile-size或密码相关的同一个键吗?

luks cryptsetup
  • 1 个回答
  • 131 Views
Martin Hope
tkowal
Asked: 2022-04-23 23:34:36 +0800 CST

我可以用 fsarchiver 备份 LUKS 加密分区吗?

  • 1

在安装 Elementary OS 时,我选择了太小的尺寸,/boot并且在进行更新时它经常咬我。

驱动器的其余部分是单个 LUKS 加密根分区:

lsblk --fs
NAME            FSTYPE      LABEL  UUID                                   FSAVAIL FSUSE% MOUNTPOINT
...
nvme0n1                                                                                  
├─nvme0n1p1     vfat               F37A-4778                               224.3M    15% /boot/efi
├─nvme0n1p2     ext4               f68b8c29-141b-4bec-8812-c5203be4f684     41.7M    83% /boot
└─nvme0n1p3     crypto_LUKS        715ee16e-ba60-487a-8944-23b3b561b2bb                  
  └─cryptdata   LVM2_member        UFo5le-jPA4-5k4d-fpV3-7eGx-fTGR-6mU5Bo                
    ├─data-root ext4               cd4a0015-3306-4c64-988c-83235baca874    581.3G    31% /
    └─data-swap swap               65e49edd-8a15-4d30-b966-4df0bcdce12f                  [SWAP]

我不能简单地缩小加密分区来取回我的空间,/boot所以我想使用 进行备份fsarchiver,重新安装然后重新应用备份。我认为这是将数据放回较小分区的唯一方法。

我找到了这个答案:https ://unix.stackexchange.com/a/101925但我不知道如何使用它。AFAIU,我不必执行第一步,因为我想归档我当前使用nvme0n1p3的已打开的分区。所以我已经 cd'ed 到一个外部驱动器并尝试:

sudo fsarchiver savefs `date +%Y_%m_%d`_root.fsa /dev/nvme0n1p3 -v -j11

但我得到了:

filesys.c#140,devcmp(): Warning: [/dev/fuse] is not a block device
oper_save.c#1037,filesystem_mount_partition(): cannot mount partition [/dev/nvme0n1p3]: filesystem may not be supported by either fsarchiver or the kernel.
removed 2022_04_23_root.fsa

cryptsetup我应该以某种方式打开分区吗?是因为我没有使用LiveCD吗?

luks cryptsetup
  • 2 个回答
  • 180 Views
Martin Hope
SurpriseDog
Asked: 2019-06-14 21:09:00 +0800 CST

dmsetup 不适用于超过 2TB 的驱动器

  • 1

这篇文章的原标题是关于 CryptSetup 没有加载具有 4096 字节扇区的 Truecrypt 设备。无论如何,我设法转储了 Truecrypt 标头(使用主密钥),但是现在当我尝试使用 dmsetup 加载它时它不起作用:

echo "0 5860533168 crypt aes-xts-plain64 <my-super-secret-64-byte-key> 256 /dev/sdh 256" | dmsetup create test
device-mapper: resume ioctl on test  failed: Invalid argument
Command failed

它似乎不支持超过 2^32 的大小数字,所以我尝试将扇区大小:4096参数添加到表中:

echo "0 732566646 crypt aes-xts-plain64 <my-super-secret-64-byte-key> 256 /dev/sdh 256 sector_size:4096" | dmsetup create test
device-mapper: reload ioctl on test  failed: Invalid argument
Command failed

如果我将扇区数设置为低于 2TB (2^32 * 512),它会起作用,但不会超过。我试图在纯 cryptsetup 中复制相同的命令,但我不知道如何准确匹配 dmsetup 表,我无法复制它。有没有办法强制 dmsetup 使用超过 2TB 的设备?有没有办法将主密钥直接传递给 cryptsetup?这是我迄今为止尝试过的,但它使用错误的密钥解密:

echo <64-byte-key> | cryptsetup open --type plain /dev/sdh test --offset 256 --cipher aes-xts-plain64 --hash plain --key-size 512
cryptsetup truecrypt
  • 1 个回答
  • 166 Views
Martin Hope
arminfro
Asked: 2019-03-05 01:17:50 +0800 CST

挂载镜像文件的加密分区

  • 7

我有一个硬盘的映像备份文件,它由三个分区 ( sudo fdisk -l /mnt/hdd/19_02.img) 组成:

Device                 Start       End   Sectors   Size Type
/mnt/hdd/19_02.img1     2048   1050623   1048576   512M EFI System
/mnt/hdd/19_02.img2  1050624  34686975  33636352    16G Linux swap
/mnt/hdd/19_02.img3 34686976 976773134 942086159 449.2G Linux filesystem

第三个分区 is 类型crypto_LUKS。如果它不会被加密,我可以用 挂载它sudo mount -o loop,offset=$(expr 512 \* 34686976) /mnt/hdd/19_02.img /mnt/img,这会导致mount: /mnt/img: unknown filesystem type 'crypto_LUKS'.

我试过的

sudo cryptsetup luksOpen /mnt/hdd/19_02.img3 img结果是Device /mnt/hdd/19_02.img3 doesn't exist or access denied.

sudo cryptsetup plainOpen --offset=$(expr 512 \* 34686976) /mnt/hdd/19_02.img img询问我的密码,该密码也被接受,但返回了Requested offset is beyond real size of device /mnt/hdd/19_02.img. 好吧,也许cryptsetup确实将偏移值乘以块大小。

sudo cryptsetup plainOpen --offset=34686976 /mnt/hdd/19_02.img img询问我的密码,该密码也被接受并返回正常。但sudo mount /dev/mapper/img /mnt/img抱怨mount: /mnt/img: wrong fs type, bad option, bad superblock on /dev/mapper/img。分析sudo lsblk -f /dev/mapper/img显示没有识别文件系统。

NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
img

加密设备是由LUKS模式创建的,因此使用plainOpen. 但luksOpen不提供--offset选项。

做sudo cryptsetup luksOpen --offset=34686976 /mnt/hdd/19_02.img img的结果cryptsetup: Option --offset is supported only for open of plain and loopaes devices and for luksFormat。(没试过luksFormat,但它设置了 LUKS 设备头并加密了主密钥。)

毕竟这个问题

如何处理cryptsetup luksOpen图像文件上的偏移量?

luks cryptsetup
  • 1 个回答
  • 11022 Views
Martin Hope
qbit
Asked: 2018-08-23 01:22:26 +0800 CST

cryptsetup open for luks : --key-file 参数处理不当

  • 2

一个相关的问题是:luksOpen 不会使用 keyfile 解密,除非提供了 --key-file 参数

然而,在 Ubuntu 仿生上cryptsetup 2.0.2,我确实遇到了以下问题:

当使用文件中包含的密码打开 luks 加密设备时,它在直接调用中运行良好:

cat mypass.txt | sudo cryptsetup open --type luks /dev/sda1 enc-store

尝试使用记录在案的--key-file=-参数,这应该会导致相同的行为

cat mypass.txt | sudo cryptsetup open --type luks --key-file=- /dev/sda1 enc-store

只是产生延迟的消息

此密码没有可用的密钥。

当尝试使用cryptdisks_start enc-store依赖于--key-file=-选项的脚本时,这尤其是一个问题,该选项会三次生成上述消息

这使生活变得不那么愉快。

我在这里错过了什么吗?

-谢谢!

luks cryptsetup
  • 1 个回答
  • 2539 Views
Martin Hope
mwfearnley
Asked: 2018-04-06 03:26:41 +0800 CST

为什么“cryptsetup luksFormat”不提示输入密码?

  • 2

我希望cryptsetup提示我输入密码,但它只是在尝试打开密钥文件但未能成功:

sudo cryptsetup luksFormat test.img cryptsetup-test

WARNING!
========
This will overwrite data on test.img irrevocably.

Are you sure? (Type uppercase yes): YES
Failed to open key file.
cryptsetup
  • 1 个回答
  • 3153 Views
Martin Hope
MountainX
Asked: 2018-03-20 20:44:02 +0800 CST

如何从设备中删除 crypto_LUKS

  • 2

一不留神,我在 /dev/sda 而不是 /dev/sda 1上运行了 luksFormat 。现在我想撤消该操作。检查 man 的 cryptsetup 并没有发现明显的方法。

`lsblk -f1 显示以下内容:

sda          crypto_LUKS                       45e143e4-7d5b-4f20-b552-f301ced442f4 
└─sda1       crypto_LUKS                       55c24c05-d113-4df5-2715-f0d4072f5343 

通常,当我这样做时,sda 右侧没有输出。这就是我在纠正错误后想要达到的状态。

此时我也可能会丢失 sda1。上面没有什么重要的,我可以在一分钟内重新创建它。简而言之,我想在我犯错之后重新开始使用这个块设备。但是,运行gdisk /dev/sda并创建新分区表和新分区不会从 sda 中删除 crypto_LUKS。

hard-disk cryptsetup
  • 1 个回答
  • 3540 Views
Martin Hope
bdimych
Asked: 2017-12-07 13:53:50 +0800 CST

是否可以在 crypt 映射器中创建分区表?

  • 1

即不

fdisk /dev/sda; cryptsetup create xxx /dev/sda1

但反之亦然

cryptsetup create xxx /dev/sda ; fdisk /dev/mapper/xxx

允许吗?

fdisk cryptsetup
  • 1 个回答
  • 181 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve