Security
November 12, 2023

GPG, PASS - шифруем данные и пароли

GPG


GPG, или GNU Privacy Guard, является свободной реализацией стандарта OpenPGP для шифрования и цифровой подписи данных. Вот несколько команд GPG, которые могут быть полезны:

  1. Генерация ключевой пары:
bash
gpg --gen-key

Список ключей:

bash
gpg --list-keys

Зашифровать файл:

bash
gpg --encrypt --recipient имя_получателя файл.txt

Расшифровать файл:

bash
gpg --decrypt зашифрованный_файл.gpg

Подписать файл:

bash
gpg --sign файл.txt

Проверить подпись:

bash
gpg --verify подписанный_файл.gpg

Экспорт открытого ключа:

bash
gpg --armor --export имя_пользователя > открытый_ключ.asc

Импорт ключа:

bash
gpg --import ключ.asc

Удаление ключа:

bash
gpg --delete-key имя_пользователя

Подписать ключ:

bash
gpg --sign-key имя_пользователя

Создать файл с контрольной суммой:

bash
gpg --print-md SHA256 файл > файл.sha256

Проверить контрольную сумму:

bash
  1. gpg --verify файл.sha256

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


EXPORT GPG

Для экспорта публичного и секретного ключей GPG в файлы, вы можете использовать команды gpg с опцией --export и --export-secret-keys. Вот как это сделать:

  1. Экспорт публичного ключа:
gpg --output public_key_user.asc --armor --export [email protected]

Эта команда создаст файл public_key_player.asc, содержащий публичный ключ, который можно безопасно распространять.

2. Экспорт секретного ключа:

gpg --output secret_key_user.asc --armor --export-secret-keys [email protected] Эта команда создаст файл secret_key_user.asc, содержащий секретный ключ. Будьте осторожны с этим файлом, так как он содержит важную конфиденциальную информацию.

Обратите внимание, что при экспорте секретного ключа важно хранить его в безопасном месте и не распространять его необходимости. Также, при работе с GPG, следует соблюдать осторожность и следовать лучшим практикам безопасности.

После выполнения этих команд, у вас будет два файла (public_key_user.asc и secret_key_user.asc), которые содержат соответственно публичный и секретный ключи для адреса электронной почты user@gmail.com.

Дальше можете сохранить их на флешку и спрятать где-нибудь в недоступном месте.

PASS

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

  1. Инициализация хранилища паролей:
bash
pass init GPG_ID

Добавление пароля:

bash
pass insert имя_сайта/имя_пользователя

Просмотр пароля:

bash
pass имя_сайта/имя_пользователя

Генерация случайного пароля:

bash
pass generate имя_сайта/имя_пользователя длина

Список всех паролей:

bash
pass

Удаление пароля:

bash
pass rm имя_сайта/имя_пользователя

Обновление пароля:

bash
pass update имя_сайта/имя_пользователя

Экспорт паролей:

bash
pass export имя_сайта/имя_пользователя > экспортированный_файл.txt

Импорт паролей:

bash
pass import < импортированный_файл.txt

Список истории изменений пароля:

bash
pass git log имя_сайта/имя_пользователя

Синхронизация с удаленным репозиторием:

bash
pass git pull origin master
pass git push origin master

Получение справки:

bash

pass help

Эти команды предоставляют базовый функционал pass. Обратите внимание, что вам может потребоваться настроить GPG и создать ключ перед использованием pass.

УДАЛЕННЫЙ ДОСТУП К ПАРОЛЯМ

Чтобы иметь доступ к паролям с любого устройства используйте GitLab, вот как это можно сделать:

  1. Инициализация репозитория в GitLab:
    • Зайдите на GitLab и создайте новый репозиторий.
    • Скопируйте URL вашего репозитория GitLab.
  2. Инициализация password-store:
    • Убедитесь, что у вас есть дирректория ~/.password-store/ .
  • pass git init

Добавление удаленного репозитория GitLab:

  • Добавьте ваш удаленный репозиторий GitLab
  • pass git remote add origin ВАШ_URL

Добавление и зафиксирование пароля в password-store:

  • Добавьте новый пароль:bash
pass insert имя_сайта/имя_пользователя

Зафиксируйте изменения в Git:

bash
  1. При выполнении этих команд, пароль будет сохранен в password-store, и изменения будут отправлены в ваш репозиторий на GitLab.
    • pass git push -u origin master
  2. Синхронизация изменений:
    • Если ваши пароли меняются, вы можете использовать команду pass git pull origin master, чтобы получить последние изменения из GitLab.
    • Вы можете также использовать pass git push origin master, чтобы отправить ваши локальные изменения в GitLab.

Таким образом, password-store будет использовать GitLab в качестве удаленного хранилища для ваших паролей, что обеспечит централизованное и безопасное управление паролями.