LINUX.ORG.RU

Хочу что-то наподобие Veracrypt

 , , , ,


0

1

Обрисую ситуацию: не пользуюсь менеджером паролей, большую их часть держу в голове. Тем не менее, время от времени приходится куда-то записывать данные (обычно те же пароли), которые мне важно не потерять, но и нужны которые очень редко.

До сих пор я хранил пароли в директории с файлами, которую я просто закидывал в tar и сверху шифровал gpg. Это неудобно, криво, и попросту небезопасно.

Какие есть удобные варианты? Менеджер паролей мне не хочется ставить, хотелось бы какой-нибудь veracrypt, но тот идет с GUI, а нужен простой cli-инструмент.

Не слушай вышеотписавшихся, они предлагают далеко не подобие veracrypt, а ощутимо ослабленную(ради удобства, ессно) реализацию dm-crypt.

Идём по порядку:

$ dd if=/dev/zero bs=1M count='вставь размер криптоконтейнера в мегабайтах' of=/home/username/astro-noise

# cryptsetup open --type plain -d /dev/urandom /home/username/astro-noise to_crap
# dd if=/dev/zero of=/dev/mapper/to_crap status=progress && cryptsetup close to_crap
# cryptsetup open --type plain --cipher aes-xts-plain64 -s 512 --hash sha512 /home/username/astro-noise passwords
# mkfs.ext4 /dev/mapper/passwords

Первые три команды создают контейнер и заполняют его мусором, четвёртая открывает контейнер так, как ты это будешь делать потом всегда, пятая - создаёт в нём файловую систему.

Соответственно, зубрить нужно будет только четвёртую команду. А внутри контейнера можно хранить что угодно.

SM5T001 ()
Последнее исправление: SM5T001 (всего исправлений: 1)

Да, забыл уточнить - выше я описал именно своеобразный аналог VeraCrypt, а если тебе нужно шифровать какой-то отдельный файл, то можно сделать попроще, не создавая контейнер:

$ cp /home/username/password /home/username/encpasswords
# cryptsetup open --type plain --cipher aes-xts-plain64 -s 512 --hash sha512 /home/username/encpasswords encpasswords && cat /home/username/passwords > /dev/mapper/encpasswords && cryptsetup close encpasswords && rm /home/username/passwords

Это копирует исходный файл, шифрует его и удаляет оригинал. Вот только чтобы потом изменить новый файл, его нужно будет снова расшифровать, затем изменить и перешифровать.

Конечно, можно написать на основе этого примера скрипт-шифровальщик с поддержкой изменения файлов и перешифровкой. Но это уже сложный подход.

SM5T001 ()

можно использовать encfs - ФС с шифрованием на лету:
encfs ~/.crypt ~/crypt
копируем-изменяем файлы в ~/crypt
отмонтируем ~/crypt:
fusermount -u ~/crypt
После этого ~/crypt пустой, все зашифрованные файлы в ~/.crypt

sigurd ★★★★ ()
Ответ на: комментарий от t184256

gpg я использую и так, мне не хватает возможности контейнера. На момент написания поста я хранил тарбол, зашифрованный gpg. Каждый раз, когда мне нужно было что-нибудь сохранить, приходилось расшифровывать, дописывать, шифровать заново. Вполне допускаю, что я чего-то не знаю о gpg (на самом деле, почти ничего), но очевидного способа вносить изменения сразу на месте я не нашел.

pass – интересный вариант, но, к сожалению, я не вижу способа хранить в нем обычные (не текстовые) файлы.

Адаптировал под свои нужды LUKS, выглядит как оверкилл, но зато удобно.

Siborgium ★★★ ()
Последнее исправление: Siborgium (всего исправлений: 1)

Забудь про шифрование:

Используй:

Пароли нигде не хранятся, ни в открытом ни в зашифрованном виде. Генерируются «на лету». Запоминать их не нужно, только секретную фразу для генерации/восстановления.

Есть графическая и консольная версии. Так же, работает в Termux, можно генерировать используя Termux+clipassman+Android.

Windows7/8/10 | All Linux | Termux.

Когда поймёшь насколько это круто, не забудь задонатить разработчику, он живёт на донаты и делает отличные открытые, бесплатные проекты.

smartbear ()