GPG-ключи не работают при использовании su –

Вопрос или проблема

У меня есть две учетные записи на моем домашнем компьютере: одна для работы, одна общая. Иногда я хочу получить доступ к своей базе данных паролей из общей учетной записи, находясь в работе. Проблема в том, что я получаю следующую ошибку:

gpg: расшифровка не удалась: нет закрытого ключа

Я использую Arch Linux и KDE.

Это связано с тем, что пароль будет введен через tty или окно X, и оба принадлежат первоначальному пользователю. Я нашел людей, предлагающих использовать screen для запуска нового tty, но это тоже не сработало. Я получил `/run/screen/…. Нет такого файла или директории`

Ответ был:

su - user
script /dev/null
screen

Из здесь, который ссылается на этот как на оригинальный источник.

Эта проблема возникает потому, что ключ GPG принадлежит пользователю, а не root.

В посте
ключ GPG пользователя не может быть использован SUDO
принятый ответ от автора был:

Решение: добавлен следующий код в bash-скрипт:

HOME=/home/user/
--gpg-options "--homedir=/home/username/.gnupg".

Еще одно решение заключалось в использовании опции --preserve-env для sudo,
чтобы GPG в сессии sudo мог находить работающий gpg-agent
в пользовательской сессии, например:

sudo --preserve-env command

Существует более простой способ решения этой проблемы: используйте

ssh user@localhost

Ответ или решение

Проблема с использованием GPG ключей при попытке переключения пользователя на Arch Linux

Работа с GPG (GNU Privacy Guard) ключами может вызывать сложности, особенно когда речь идет о переключении между пользователями в Linux-системах. В вашем случае вы сталкиваетесь с ошибкой "gpg: decryption failed: No secret key" при попытке доступа к базе данных паролей из учетной записи общего назначения, когда вы находитесь под учетной записью рабочего пользователя. Эта проблема возникает из-за того, что GPG ключи хранятся в домашнем каталоге каждого пользователя и доступны только ему.

Причины проблемы

  1. Отсутствие доступа к GPG ключам: Когда вы используете команду su - <user>, вы переключаетесь на другого пользователя, и система ожидает, что вы будете использовать его домашний каталог (/home/user), где находятся его GPG ключи. Ваша рабочая учетная запись не может получить доступ к этим ключам, так как ключи не являются общими.

  2. Разные сеансы X и TTY: Ошибка также может возникать, если вы пытаетесь использовать терминал, который принадлежит другому пользователю. GPG использует механизм аутентификации через gpg-agent, который может не всегда распознать, что вы хотите использовать ключи другого пользователя.

Решения

Ниже приведены несколько методов решения данной проблемы:

  1. Изменение домашнего каталога для GPG:
    Вы можете установить переменную HOME на домашний каталог пользователя, к которому вы хотите получить доступ. Например:

    HOME=/home/user gpg --decrypt /path/to/file.gpg
  2. Использование параметров GPG:
    Как упоминалось, можно использовать --gpg-options для указания директории, где находятся ключи пользователя:

    gpg --gpg-options "--homedir=/home/username/.gnupg" --decrypt /path/to/file.gpg
  3. Применение --preserve-env с sudo:
    Если вы используете sudo и хотите, чтобы GPG мог использовать ключи текущего пользователя, вы можете добавить опцию --preserve-env:

    sudo --preserve-env gpg --decrypt /path/to/file.gpg
  4. Использование screencast:
    Как было предложено, использование screen для создания новой сессии TTY также может помочь. Однако вам может потребоваться предварительно создать необходимые каталоги под /run/screen.

  5. SSH вход в localhost:
    Наиболее простое и эффективное решение – использовать SSH для подключения к своему localhost:

    ssh user@localhost

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

Заключение

Работа с GPG ключами в Linux может показаться сложной из-за особенностей управления правами доступа и сессиями. Однако, используя указанные подходы, вы сможете решить проблемы, связанные с доступом к вашим ключам, и продолжить использовать свои инструменты шифрования без лишних затруднений. Выбор подходящего решения будет зависеть от ваших специфических потребностей и сценариев работы.

Оцените материал
Добавить комментарий

Капча загружается...