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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1122667
Accepted
spiralofhope
spiralofhope
Asked: 2019-03-04 00:04:16 +0800 CST2019-03-04 00:04:16 +0800 CST 2019-03-04 00:04:16 +0800 CST

带有新创建的 DM-CRYPT / LUKS 分区的“此密码没有可用的密钥”

  • 772

进行搜索时,由于密码设置,其他人似乎遇到了更复杂的问题,但我的问题是在做一些简单的事情时。

使用 Lubuntu 18.10 32bit 的最新安装(内核已更新),我可以创建一个加密分区:

cryptsetup  --verbose  --verify-passphrase  luksFormat  /dev/mmcblk0    

WARNING: Device /dev/mmcblk0 already contains a 'crypto_LUKS' superblock signature.

WARNING!
========
This will overwrite data on /dev/mmcblk0 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase for /dev/mmcblk0: 
Verify passphrase: 
Existing 'crypto_LUKS' superblock signature on device /dev/mmcblk0 will be wiped.
Key slot 0 created.
Command successful.

如果给定的密码是 letter a,我无法解锁它:

cryptsetup  --verbose  luksOpen  /dev/mmcblk0 crypt

Enter passphrase for /dev/mmcblk0:
No key available with this passphrase.
Enter passphrase for /dev/mmcblk0:

(我也尝试了 zulucrypt,结果相同)


由于我使用其安装程序的加密功能安装了 Lubuntu,我可以在我的系统本机使用的内容和cryptsetup我的 mmc 驱动器上制作的内容之间进行比较。

cryptsetup luksDump /dev/sda1

相关部分似乎是:

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha256
Payload offset: 4096
MK bits:        512

我看到的两个转储之间的唯一区别是,对于我的本地驱动器,底部的“MK 位”是 512,但对于 mmc,它是 256。


我不知道这是否相关,但我也看到我的本地驱动器有两个键槽,而 mmc 只有一个。(我的本地驱动器有两个密钥槽这一事实让我希望/怀疑安装程序是否放入了重复的密钥以防第一个密钥损坏。)


一位评论者要求我尝试以这种方式提供密码:

echo -n 'a' | cryptsetup  --verbose  luksOpen  /dev/mmcblk0 crypt

Can't do passphrase verification on non-tty inputs.
No key available with this passphrase.
Command failed with code -2 (no permission or bad passphrase).

另一种提供密码的方法:

echo 'a' > interactive_pass         
cat interactive_pass | cryptsetup luksAddKey /dev/mmcblk0

No key available with this passphrase.

使用密钥文件。

我无法理解这一点。我摸索了一会儿,但停了下来,因为我分不清使用错误和它有自己的问题之间的区别。

zulucrypt 有一种创建密钥文件的方法,但它只是说Failed To Generate Key. 这很简单,所以我确定我使用它正确(以 root 身份运行,对我要创建的文件具有写权限)

encryption luks cryptsetup
  • 1 1 个回答
  • 8722 Views

1 个回答

  • Voted
  1. Best Answer
    spiralofhope
    2019-03-06T16:20:02+08:002019-03-06T16:20:02+08:00

    TL;DR - 检查媒体是否可靠;luksFormat不要luksOpen。

    至少可以从以下几个方面来考虑这个问题:

    • 提供了错误的密码
    • 密码以错误的方式给出
    • 基本软件有问题,例如 cryptsetup 本身。

    出于好奇,我决定对 mmc 驱动器进行完整格式化(“从头开始”),但要检查:

    sudo mkfs.ext4 /dev/mmcblk0 -cc   
    
    mke2fs 1.44.4 (18-Aug-2018)
    /dev/mmcblk0 contains a ext4 file system
            last mounted on Tue Mar  5 11:30:02 2019
    Proceed anyway? (y,N) y
    Discarding device blocks: done                            
    Creating filesystem with 15591936 4k blocks and 3899392 inodes
    Filesystem UUID: 0ab72f40-d2a2-408d-b4ca-d5e8fcc27ec7
    Superblock backups stored on blocks: 
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
            4096000, 7962624, 11239424
    
    Testing with pattern 0xaa: done                                                 
    Reading and comparing: done                                                 
    Testing with pattern 0x55: done                                                 rs)
    Reading and comparing: done                                                 rs)
    Testing with pattern 0xff: done                                                 rs)
    Reading and comparing: done                                                 rs)
    Testing with pattern 0x00: done                                                 rs)
    Reading and comparing: done                                                 rs)
    Block 0 in primary superblock/group descriptor area bad.
    Blocks 0 through 9 must be good in order to build a filesystem.
    Aborting....
    

    我已经可以看到这是怎么回事..

    由于我以前从来没有这样格式化过,所以我用检查格式化了第二个存储设备(U盘),格式化成功。通过相同的过程来格式化并cryptsetup打开该 USB 记忆棒。这揭示了另一个正在发生的问题:

    • 以错误的方式接收密码

    我怀疑它luksFormat没有进行任何完整性检查以查看其数据是否可以实际读取。


    作为后续,我已经在 Windows 下进行了非快速格式化,并且效果很好。我还进行了完整的写读比较测试,也很成功。出于好奇,我还有其他测试要执行,但这很可能(不知何故)是一个特定于 Linux 的问题。我不会对那个兔子洞进行故障排除,但我会得出结论,在出现问题的特定平台上进行所有格式化和测试很重要。

    • 1

相关问题

  • 迁移、分区和加密攻击计划

  • 如何加密我的主分区?

  • 使用加密的主目录重新安装 Ubuntu?

  • 如何从双启动计算机访问加密的主文件夹?

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve