Гид по технологиям

Шифрование файлов в Linux с паролем

7 min read Security Обновлено 01 Dec 2025
Шифрование файлов в Linux паролем
Шифрование файлов в Linux паролем

Кратко

Краткое руководство по инструментам командной строки в Linux для шифрования файлов с использованием пароля: GPG, bcrypt, ccrypt и 7‑Zip. Описаны команды, отличия, рекомендации по безопасности и проверенные рабочие сценарии.

Важно: используйте длинные фразы (passphrases) и проверяйте целостность перед удалением исходных файлов.


Linux предлагает несколько командных утилит, которые позволяют шифровать и расшифровывать файлы с паролем, введённым пользователем. Такие инструменты полезны для передачи файлов по сети, резервного хранения, и защиты конфиденциальных данных на диске.

Перед тем как изучать отдельные утилиты, убедитесь, что соответствующие пакеты установлены. В исходном тексте присутствует блок с опечаткой — ниже сначала сохранён исходный блок, потом приведён корректный способ установки для Ubuntu.

Исходный блок (с опечаткой в команде):

sudoapt-get install gnupg bcrypt ccrypt p7zip-full

Правильная команда для Ubuntu/Debian:

sudo apt-get install gnupg bcrypt ccrypt p7zip-full

Если вы используете другой дистрибутив, установите соответствующие пакеты через менеджер пакетов (dnf, pacman и т.д.).

Что нужно знать перед выбором инструмента

  • Термины:
    • Шифрование симметричное — один пароль/ключ для шифрования и расшифровки.
    • Компрессия — уменьшает размер незашифрованного содержимого перед шифрованием; иногда влияет на итоговый размер.
  • Правило безопасности: длинная фраза-пароль (например, 12+ символов, фраза из слов) обычно даёт лучшее практическое сопротивление атакам перебором.
  • Никогда не доверяйте только одному резервному файлу без контрольных сумм и копий.

GPG — симметричное шифрование с поддержкой алгоритмов

GNU Privacy Guard (GPG) обычно применяется для шифрования и подписания с использованием открытых ключей, но умеет и симметричное шифрование по паролю. GPG поддерживает множество алгоритмов и по умолчанию применяет сжатие перед шифрованием.

Чтобы зашифровать файл, например big.txt:

gpg -c big.txt

Команда запросит пароль дважды. В результате появится файл big.txt.gpg. Исходный файл останется на месте — при желании удалите его вручную после проверки зашифрованной копии.

Чтобы расшифровать:

gpg big.txt.gpg

По умолчанию GPG использует алгоритм CAST5, но также поддерживает 3DES, AES, Camellia и другие (список доступных алгоритмов отображается в выводе gpg --version). Чтобы указать алгоритм, используйте параметр --s2k-cipher-algo или, в старых примерах, -crypto-algo. Пример для 3DES:

gpg --s2k-cipher-algo 3DES -c big.txt

Примечание: синтаксис и опции могут отличаться в разных версиях GPG; используйте gpg --help и man gpg.

Список шифров, поддерживаемых GPG

Из вывода gpg --version смотрите раздел «Supported algorithms» и строку «Cipher». GPG по умолчанию выполняет сжатие перед шифрованием — это объясняет случаи, когда зашифрованный файл меньше исходного.

Важно: при симметричном шифровании с помощью GPG нельзя восстанавливать пароль. Сохраните надёжные бэкапы и, при необходимости, используйте управляющие системы ключей.

bcrypt и ccrypt — простые утилиты для одиночных файлов

Если вам нужно быстро зашифровать один файл, подойдут bcrypt и ccrypt.

bcrypt

  • Использует алгоритм Blowfish.
  • Шифрует файл и заменяет исходник, добавляя суффикс .bfe.

Пример шифрования:

bcrypt big.txt

Расшифровка:

bcrypt big.txt.bfe

bcrypt по умолчанию выполняет сжатие результата; его можно отключить опцией -c.

ccrypt

  • Основан на алгоритме Rijndael (AES‑совместимый).
  • Не сжимает файлы по умолчанию; расширение обычно .cpt.

Три способа вызвать ccrypt:

  • ccrypt -e или ccrypt -d для шифрования/расшифровки;
  • или удобные обёртки ccencrypt и ccdecrypt.

Шифрование:

ccencrypt big.txt

Результат: big.txt.cpt. Расшифровка:

ccdecrypt big.txt.cpt

Если нужен сжатый и зашифрованный файл, рекомендуются комбинации: сначала gzip или zstd, затем ccencrypt. Возможные расширения: .gz.cpt, .zst.cpt.

Замечание о безопасности: Blowfish (bcrypt) имеет исторические и теоретические уязвимости в некоторых сценариях; для высокой защиты отдавайте предпочтение AES‑совместимым решениям (GPG с AES, ccrypt, 7‑Zip/AES).

7‑Zip — архивирование плюс AES‑шифрование

7‑Zip (утилита 7z) сочетает сжатие и AES‑шифрование. Удобно, когда нужно заархивировать и одновременно зашифровать несколько файлов и папок.

Создание зашифрованного архива:

7z a -p big.txt.7z big.txt

Опция -p запросит пароль. По умолчанию архив будет зашифрован и сжат, исходный файл останется на месте.

Преимущество: можно хранить несколько файлов в одном зашифрованном контейнере; поддерживается AES‑256.

Сравнительная таблица (кратко)

ИнструментАлгоритмСжатиеИсходный файл заменяетсяПодходит для
gpg (-c)CAST5, AES, 3DES и др.ДаНетУниверсальное шифрование, совместимость
bcryptBlowfishДа (по умолчанию)ДаБыстрое шифрование файлов, простота
ccryptRijndael (AES)НетДаAES‑совместимая простая утилита
7zAES‑256ДаНетАрхивирование + шифрование множества файлов

Рекомендации по выбору

  • Для совместимости и гибкости — GPG (особенно если потребуется в будущем переход на асимметричное шифрование).
  • Для простоты и одиночных файлов — ccrypt (AES) предпочтительнее bcrypt (Blowfish).
  • Для архивирования нескольких файлов — 7‑Zip (AES‑256).

Практические шаблоны использования (cheat sheet)

  • Зашифровать один файл (GPG):
gpg -c filename
  • Расшифровать:
gpg filename.gpg
  • Быстро зашифровать и заменить исходный (bcrypt):
bcrypt filename
  • Шифровать папку и файлы в один архив (7z):
7z a -p archive.7z folder/
  • Сжать и затем зашифровать (если хотите контролировать порядок):
tar -czf - folder/ | gpg -c -o folder.tar.gz.gpg

Критерии приёмки

  • Зашифрованный файл открывается и расшифровывается без ошибок.
  • Контрольная сумма исходного файла совпадает с контрольной суммой расшифрованного.
  • Пароль/фраза надёжно сохранены в менеджере паролей или безопасном хранилище.
  • Если исходный файл должен быть удалён, убедитесь в безопасном удалении (см. раздел по безопасности).

Когда подход может потерпеть неудачу

  • Если пароль слабый — атаки методом перебора полностью скомпрометируют данные.
  • Если используется устаревший алгоритм или неправильные опции — криптостойкость может быть недостаточна.
  • Если вы удалили исходный файл до проверки расшифровки — данные могут быть утеряны навсегда.
  • Если шифрование применяется к уже зашифрованным/сжатым данным — ожидаемая экономия по размеру может отсутствовать.

Альтернативы и расширения

  • OpenSSL: можно использовать для симметричного шифрования (openssl enc -aes-256-cbc -salt -in file -out file.enc) — гибко, но формат проприетарный и требует аккуратности при выборе опций.
  • age: современная простая альтернатива для шифрования файлов с поддержкой пароля и публичных ключей.
  • LUKS/cryptsetup: если нужно шифровать целые разделы или контейнеры, используйте LUKS вместо файловых утилит.

Безопасность и жёсткая практика

  • Генерация пароля: используйте менеджер паролей и фразы из нескольких слов, добавляя спецсимволы по необходимости.
  • Хранение и передача: никогда не отправляйте пароль тем же каналом, что и зашифрованный файл (например, файл по e‑mail, пароль по тому же e‑mail).
  • Удаление исходников: используйте инструменты для безопасного удаления (shred, srm) или перезапишите файл несколько раз, если это требование безопасности.
  • Аудит: храните контрольные суммы и метаданные о версии программ при долгосрочном хранении.

Пример безопасного удаления:

shred -u big.txt

Замечание: некоторые файловые системы и SSD имеют особенности, при которых shred не гарантирует полное удаление из-за wear leveling и кэшей — для SSD лучше шифровать весь диск или использовать аппаратные средства.

Роль‑ориентированные чек‑листы

Для пользователя:

  • Выбрать инструмент (GPG/ccrypt/7z).
  • Сгенерировать и сохранить длинную фразу-пароль.
  • Проверить расшифровку перед удалением исходника.

Для администратора:

  • Убедиться в наличии пакетов на хосте.
  • Настроить политики хранения ключей/паролей.
  • Документировать процедуры бэкапа и восстановления.

Мини‑методология: быстрый рабочий процесс

  1. Подготовьте файл(ы).
  2. Создайте контрольную сумму: sha256sum file > file.sha256.
  3. Зашифруйте выбранным инструментом.
  4. Проверьте расшифровку в временной директории.
  5. Удалите/переместите исходники после успешной проверки.
  6. Задокументируйте пароль в защищённом менеджере и версию утилиты.

Факт‑бокс (ключевые рекомендации)

  • Предпочтение: AES‑совместимые реализации для серьёзной защиты.
  • Сжатие: выполняется чаще всего до шифрования — это может уменьшить размер и скрыть избыточные данные.
  • Безопасное удаление: не полагайтесь на простое rm для чувствительных данных.

Короткий глоссарий

  • Симметричное шифрование — один ключ/пароль для шифрования и расшифровки.
  • Ассиметричное шифрование — используются пара ключей (публичный/приватный).
  • Passphrase — фраза‑пароль, длиннее и безопаснее, чем простое слово.

Примеры тестов и критерии приёмки

  • Шифрование и расшифровка без ошибок при правильном пароле.
  • Ошибка при попытке расшифровки с неверным паролем.
  • Совпадение контрольных сумм исходного и расшифрованного файлов.

Резюме

  • Выбирайте инструмент по задаче: GPG для гибкости, ccrypt/7z для простоты и скорости.
  • Всегда проверяйте расшифровку до удаления исходных данных.
  • Используйте длинные фразы‑пароли и безопасное хранение паролей.

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


Краткие ключевые выводы

  • GPG, ccrypt, bcrypt и 7‑Zip — удобные инструменты для шифрования файлов в Linux.
  • Предпочтение отдавайте AES‑алгоритмам для высокой криптостойкости.
  • Всегда проверяйте корректность восстановления и безопасно удаляйте исходные файлы.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Stacks на Mac: упорядочьте рабочий стол быстро
macOS

Stacks на Mac: упорядочьте рабочий стол быстро

Добавить Take Ownership в контекстное меню
Windows

Добавить Take Ownership в контекстное меню

Голосовой ввод в Windows 11 — включение и советы
Windows

Голосовой ввод в Windows 11 — включение и советы

Уведомления Google Форм на email — настройка
Google Forms

Уведомления Google Форм на email — настройка

Petey на Apple Watch — ChatGPT на запястье
Приложения

Petey на Apple Watch — ChatGPT на запястье

Искать по содержимому в Windows: добавить типы файлов
Windows

Искать по содержимому в Windows: добавить типы файлов