Следующий: Настройки агента, Пред: Команды агента, Вверх: Вызов GPG-AGENT [Содержание][Указатель]
ПАраметры можно применять либо в командной строке, либо, отбросив начальные символы «–», в файле конфиругации.
--options файл
Считывать настройки из указанного файла вместо исходного файла настроек пользователя. Исходный файл настроек называется gpg-agent.conf и находится в каталоге .gnupg непосредственно в домашнем каталоге пользователя. В файле настроек этот параметр игнорируется.
--homedir каталог
Задать домашний каталог. Если этот параметр не используется, за домашний
каталог принимается ~/.gnupg. Параметр учитывается только в командной
строке. Он отменяет также любой домашний каталог, указанный в переменной
среды GNUPGHOME
или (в системах Windows) в пункте реестра
HKCU\Software\GNU\GnuPG:HomeDir.
В системах Windows GnuPG можно установить как переносное приложение. В этом случае рассматривается только этот параметр командной строки, все другие способы задания домашнего каталога отключаются.
Для установки GnuPG в качестве переносного приложения под Windows создайте пустой файл под названием gpgconf.ctl в одном каталоге с gpgconf.exe. Тогда верхним каталогом установки будет этот каталог; или, если gpgconf.exe установлен непосредственно в каталоге под названием bin, на один уровень выше. Нужно также проверить, что следующие каталоги существуют и в них разрешена запись: ROOT/home для домашнего каталога GnuPG и ROOT/usr/local/var/cache/gnupg для внутренних буферных файлов.
-v
--verbose
Выводит во время работы дополнительную информацию. Объем информации можно увеличивать, вводя параметр несколько раз, например, ‘-vv’.
-q
--quiet
Стараться выводить на экран как можно меньше.
--batch
Не вызывать программу ввода пароля и не делать ничего, что требует вмешательства человека.
--faked-system-time момент
Этот параметр полезен только для тестирования; он переводит системное время к моменту, заданному аргументом в виде количества секунд с начала 1970 года.
--debug-level уровень
Выбрать уровень отладки для расследования проблем. Уровень может задаваться числом или словом:
none
Никаких отладочных сообщений. Соответствует значениям, меньшим 1.
basic
Некоторые простые отладочные сообщения. Соответствует значениям от 1 до 2.
advanced
Более подробные отладочные сообщения. Соответствует значениям от 3 до 5.
expert
Еще более подробные сообщения. Соответствует значениям от 6 до 8.
guru
Все отладочные сообщения, какие только есть. Соответствует значениям, большим 8.
Как сообщения связаны с конкретными признаками отладки, не документируется и может меняться с выходом новых версий программы. Однако их тщательно выбирают, чтобы помочь в отладке.
--debug признаки
Этот параметр полезен только для отладки, его действие может измениться в любое время без предупреждения. Признаки кодируются побитово, их можно задавать в обычном синтаксисе Си. В настоящее время определены биты:
0 (1)
данные, связанные с протоколами X.509 или OpenPGP
1 (2)
значения длинных чисел
2 (4)
криптографические операции низкого уровня
5 (32)
выделение памяти
6 (64)
буферизация
7 (128)
показать статистику памяти
9 (512)
записывать хeшируемые данные в файлы с именами dbgmd-000*
10 (1024)
отслеживать протокол Assuan
12 (4096)
пропустить все проверки сертификатов
--debug-all
То же, что --debug=0xffffffff
--debug-wait n
При работе в серверном режиме подождать указанное число секунд перед входом в цикл обработки и выводить идентификатор процесса. За это время можно подключить отладчик.
--debug-quick-random
Этот параметр отменяет сверхвысокий уровень качества случайных чисел
(GCRY_VERY_STRONG_RANDOM
из Libgcrypt) и снижает его до обычного
качества случайных чисел. Используется только для испытаний и никогда не
должен применяться при создании ключей, предназначенных для реального
пользования. Этот параметр действует только из командной строки.
Под GNU/Linux есть другой способ быстрого создания некачественных ключей:
воспользоваться командой rngd
для заполнения резервуара энтропии
ядра случайными данными низкого качества. Команда rngd
обычно
входит в пакет rng-tools
. Ее можно вызвать так: ‘sudo rngd -f
-r /dev/urandom’.
--debug-pinentry
Этот параметр включает дополнительную отладочную информацию, относящуюся к
программе ввода пароля. На настоящий момент полезен только вместе с
--debug 1024
.
--no-detach
Не отрывать процесс от терминала. Полезно главным образом для отладки.
-s
--sh
-c
--csh
Форматировать выходную информацию в режиме демона для применения в
стандартном интерпретаторе Борна и Си-образном соответственно. По умолчанию
выставляется по переменной среды SHELL
, в большинстве случаев
правильно.
--grab
--no-grab
Велеть команде ввода пароля перехватывать клавиатуру и мышь. Этот параметр следует использовать с серверами X для избежания атак подслушивания по X. Любое применение параметра --grab отменяет предшествующий параметр --no-grab. Исходное состояние — --no-grab.
--log-file файл
Дописывать весь протокол работы в указанный файл. Это очень полезно, когда
нужно понять, что же программа делает. Укажите socket://, если нужно
протоколировать в сокет. Если на платформе Windows не задан ни файл, ни
файловый дескриптор для протокола работы, используется пункт реестра
HKCU\Software\GNU\GnuPG:DefaultLogFile
, если он существует.
--no-allow-mark-trusted
Не позволять программам-клиентам помечать ключи как доверенные, т.е. помещать их в файл trustlist.txt. Это мешает пользователям нечаянно принимать корневые сертификаты удостоверяющих центров.
--allow-preset-passphrase
Параметр позволяет применять gpg-preset-passphrase
для заполнения
внутреннего буфера gpg-agent
фразами-паролями.
--no-allow-loopback-pinentry
--allow-loopback-pinentry
Запретить или позволить программам-клиентам пользоваться функциями обратного вызова программы ввода пароля; подробнее см. параметр --pinentry-mode. В исходном состоянии позволено.
Этот параметр управляет также параметром --force команды Assuan
DELETE_KEY
: параметр --force игнорируется, если обратный
вызов запрещен.
--no-allow-external-cache
Выключить в программе ввода паролей функции, которые задействуют внешний буфер фраз-паролей.
Некоторые рабочие среды предпочитают защищать все верительные данные единым генеральным паролем; в них может быть установлена программа ввода пароля, в которой для реализации такого режима задействуется внешний буфер. Если задан этот параметр, программе ввода паролей передается указание не применять такой буфер, а вместо этого все время запрашивать фразу-пароль у пользователя.
--allow-emacs-pinentry
Позволить программе ввода паролей перенаправлять ввод фразы-пароля в работающий экземпляр Emacs. Как в точности это происходит, зависит от версии программы ввода паролей.
--ignore-cache-for-signing
Этот параметр позволяет gpg-agent
обходить буфер фраз-паролей для
всех операций подписи. Обратите внимание, что есть также сеансовый параметр
для управления этой особенностью, но параметр командной строки его отменяет.
--default-cache-ttl n
Установить срок действия буферной записи равным n секундам. Исходное значение — 600 секунд. Секундомер записи обнуляется при каждом доступе к ней. Для задания максимального срока действия записи пользуйтесь --max-cache-ttl. Обратите внимание, что фраза-пароль может не удаляться из буфера немедленно, если никакой клиент не обращается к буферу. Это связано с функцией внутренней уборки, которая запускается только раз в несколько секунд.
--default-cache-ttl-ssh n
Установить срок действия буферной записи для ключей SSH равным n секундам. Исходное значение — 1800 секунд. Секундомер записи обнуляется при каждом доступе к ней. Для задания максимального срока действия записи пользуйтесь --max-cache-ttl-ssh.
--max-cache-ttl n
Установить максимальный срок действия буферной записи равным n
секундам. После этого срок действия буферной записи истекает, даже если к
ней недавно обращались или она была заполнена с помощью
gpg-preset-passphrase
. Исходное значение — 2 часа (7200 секунд).
--max-cache-ttl-ssh n
Установить максимальный срок действия буферной записи для ключей SSH равным
n секундам. После этого срок действия буферной записи истекает, даже
если к ней недавно обращались или она была заполнена с помощью
gpg-preset-passphrase
. Исходное значение — 2 часа (7200 секунд).
--enforce-passphrase-constraints
Соблюдать ограничения на фразы-пароли, не позволяя пользователю обходить их с помощью кнопки «Все равно принять».
--min-passphrase-len n
Задать минимальную длину пароля. При вводе новой фразы-пароля, длина которой меньше этого значения, будет выводиться предупреждение. Исходное значение равно 8.
--min-passphrase-nonalpha n
Установить минимальное число цифр или специальных символов, требуемое для фразы-пароля. При вводе новой фразы-пароля, в которой число таких знаков меньше этого значения, будет выводиться предупреждение. Исходное значение равно 1.
--check-passphrase-pattern файл
Проверять фразу-пароль по шаблонам, заданным в указанном файле. При вводе новой фразы-пароля, соответствующей одному из этих шаблонов, будет выводиться предупреждение. Аргумент должен быть абсолютным путем до файла. По умолчанию никакой файл шаблонов не используется.
Замечание по безопасности: известно, что проверка фразы-пароля по списку шаблонов и даже по полному словарю не очень действенна для принудительного выбора хороших фраз-паролей. Пользователи быстро выясняют, как обходить такой режим. Лучше воспитывать в пользователях хорошие привычки безопасности и факультативно пропускать фразы-пароли пользователей через взломщик паролей, чтобы отловить самые слабые из них.
--max-passphrase-days n
Предлагать пользователю сменить фразу-пароль через n дней после последней смены. С параметром --enforce-passphrase-constraints это принуждает пользователя к смене фразы-пароля.
--enable-passphrase-history
Этот параметр пока никак не действует.
--pinentry-invisible-char знак
Этот параметр указывает программе ввода пароля пользоваться заданным знаком для отображения скрытых символов. Это может быть один символ или строка UTF-8. Программа ввода паролей может учитывать, а может не учитывать этот запрос.
--pinentry-timeout n
Параметр указывает программе ввода пароля предельное время ожидания ввода со стороны пользователя в секундах. Исходное значение равно 0, т.е. программе ввода паролей не передается таких указаний, однако в ней может быть свое исходное значение. Программа ввода паролей может учитывать, а может не учитывать этот запрос.
--pinentry-program программа
Использовать указанную программу в качестве программы ввода пароля. Исходное значение определяется во время установки. При исходных настройках исходное имя программы — pinentry; если такой программы не существует, но есть pinentry-basic, то используется последняя.
На платформе Windows по умолчанию используется первая существующая программа из списка: bin\pinentry.exe, ..\Gpg4win\bin\pinentry.exe, ..\Gpg4win\pinentry.exe, ..\GNU\GnuPG\pinentry.exe, ..\GNU\bin\pinentry.exe, bin\pinentry-basic.exe, где пути до файлов даны относительно каталога, в котором установлен GnuPG.
--pinentry-touch-file имя файла
По умолчанию имя файла сокета, из которого gpg-agent
принимает
запросы, передается в программу ввода пароля, так что она может обновить
времена доступа этого файла перед выходом (она делает этот только в режиме
curses). Этот параметр задает файл, передаваемый в программу ввода
пароля. Специальное имя /dev/null
можно применять, чтобы полностью
отключить эту особенность. Обратите внимание, что программа ввода пароля не
будет создавать этот файл, она только изменит времена изменения и доступа.
--scdaemon-program программа
Использовать указанную программу в качестве демона электронных
карт. Исходное значение определяется при установке и может быть показано
командой gpgconf
.
--disable-scdaemon
Не пользоваться средством scdaemon. Этот параметр отключает возможность операций с электронными картами. Обратите внимание, что задание этого параметра во время выполнения не приводит к завершению уже работающего средства scdaemon.
--disable-check-own-socket
Программа gpg-agent
периодически производит самопроверку для
обнаружения кражи сокетов. Обычно это значит, что сокет захватил другой
экземпляр gpg-agent
; в этом случае gpg-agent
самозавершится. Этим параметром можно отключать такую самопроверку в целях
отладки.
--use-standard-socket
--no-use-standard-socket
--use-standard-socket-p
Начиная с GnuPG 2.1, всегда применяются стандартные сокеты. Эти параметры
больше не действуют. Таким образом, команда gpg-agent
--use-standard-socket-p
всегда возвращает код успешного завершения.
--display строка
--ttyname строка
--ttytype строка
--lc-ctype строка
--lc-messages строка
--xauthority строка
Эти параметры применяются в режиме сервера для передачи сведений о локализации программ.
--keep-tty
--keep-display
Не учитывать запросы на смену текущего tty
и переменной
DISPLAY
системы X Window соответственно. Это полезно для замыкания
программы ввода пароля на терминале или дисплее, в котором вы запустили
gpg-agent
.
--listen-backlog n
Установить размер очереди соединений. Исходное значение — 64.
--extra-socket имя
По умолчанию создается дополнительный сокет; этим параметром можно пользоваться, чтобы изменить его имя. Чтобы отменить создание сокета, задайте в качестве аргумента имя «none» или «/dev/null» .
Принимать дополнительно подключения gpg-agent
по заданному
сокету. Этот дополнительный сокет предназначен для того, чтобы установить
перенаправление сокета домена Unix из удаленной машины на этот сокет
локальной машины. Работающий на этой удаленной машине gpg
может
тогда подключаться к локальному gpg-agent
и пользоваться его
секретными ключами. Это позволяет расшифровывать или подписывать данные на
удаленной машине, не выставляя там секретные ключи.
--enable-extended-key-format
Параметр включает создание ключей в расширенном формате секретного
ключа. Изменение фразы-пароля ключа также преобразует ключа к этому новому
формату. Применение этого параметра исключает чтение секретных ключей
версиями gpg-agent
, более ранними, чем 2.1.12. Преимущество нового
формата состоит в том, что он текстовый и может содержать дополнительные
метаданные. Обратите внимание, что этот параметр изменяет также формат
защиты ключей на OCB.
--enable-ssh-support
--enable-putty-support
Протокол агента OpenSSH всегда включен, но gpg-agent
устанавливает
переменную SSH_AUTH_SOCK
только тогда, когда задан этот параметр.
В этом режиме работы программа-агент не только реализует протокол
gpg-agent
, но также протокол программы-агента, применяемый в
OpenSSH (через отдельный сокет). Следовательно, можно пользоваться
программой gpg-agent
в качестве прямой замены широко известного
ssh-agent
.
Ключи SSH, которые используются в агенте, нужно предварительно добавить в
gpg-agent
с помощью утилиты ssh-add
. Когда добавляется
ключ, ssh-add
запрашивает пароль к заданному файлу ключа и
пересылает незащищенный материал ключа в программу-агент; поэтому
gpg-agent
запрашивает фразу-пароль, которая будет использоваться
для шифрования получаемого ключа и хранения его в специальном каталоге
gpg-agent
.
Как только ключ таким образом добавлен в gpg-agent
,
gpg-agent
готов к его использованию.
Замечание: в случае, если gpg-agent
получает запрос на подпись,
пользователю может потребоваться ввести фразу-пароль для расшифровки
сохраненного ключа. Поскольку протокол ssh-agent
лишен механизма
оповещения программы-агента о том, в каком терминале он выполняется,
поддержка SSH в gpg-agent
пользуется терминалом или дисплеем X
Window, в котором был запущен gpg-agent
. Для переключения на
текущий дисплей можно воспользоваться командой:
gpg-connect-agent updatestartuptty /bye
Хотя все компоненты GnuPG пытаются по мере необходимости запускать
gpg-agent
, при поддержке ssh
это невозможно, поскольку
ssh
не знает о gpg-agent
. Таким образом, если не
запускалось никакое средство GnuPG, которое обращалось бы к
gpg-agent
, ничто не гарантирует, что ssh
сможет
воспользоваться gpg-agent
для проверки подлинности. Чтобы это
исправить, gpg-agent
можно запустить следующей простой командой:
gpg-connect-agent /bye
Добавив --verbose, можно наблюдать за ходом запуска программы.
Параметр --enable-putty-support есть только под Windows, он
позволяет применять gpg-agent
с реализацией SSH под названием
putty
. Это сходно с обычной поддержкой ssh-agent
, но
применяется очередь сообщений Windows, как того требует putty
.
--ssh-fingerprint-digest
Выбрать алгоритм хеша для вычисления отпечатков ssh, передаваемых пользователю, например, в диалогах программы ввода пароля. В OpenSSH перешли от MD5 к более безопасному SHA256.
--auto-expand-secmem n
Разрешить Libgcrypt расширять защищенную память по требованию. Необязанельное значение n представляет собой неотрицательное целое, указывающее количество байт, на которое каждый раз приращается область защищенной памяти. Это значение округляется вверх до кратного 32 KiB; допустимы обычные префиксы в стиле Си. При сильной нагрузке на gpg-agent со многими одновременными соединениями этот параметр позволяет избежать ошибки при подписи или расшифровании, возникающие из-за нехватки защищенной памяти.
--s2k-count n
Указать количество итераций при защите фразы-пароля. Этот параметр можно применять для отмены исходного значения, полученного автокалибровкой. Автокалибровка вычисляет количество, при котором на данную фразу-пароль уходит 100 мс.
Чтобы увидеть текущее количество итераций и миллисекунд, требуемых для работы S2K, воспользуйтесь командами:
gpg-connect-agent 'GETINFO s2k_count' /bye gpg-connect-agent 'GETINFO s2k_time' /bye
Чтобы вывести величину, получаемую автокалибровкой, выполните:
gpg-connect-agent 'GETINFO s2k_count_cal' /bye
Следующий: Настройки агента, Пред: Команды агента, Вверх: Вызов GPG-AGENT [Содержание][Указатель]