ssh-add добавляет RSA- или DSA-идентификацию для агента аутентификации - ssh-agent(1). Если запущен без параметров, то будет добавлена идентификация из $HOME/.ssh/identity, $HOME/.ssh/id_rsa и $HOME/.ssh/id_dsa. Из командной строки может быть задано альтернативное имя файла. Если какому-либо файлу требуется ключевая фраза, ssh-add запросит эту фразу у пользователя. Ключевая фраза считывается с терминала пользователя. Если задано несколько файлов идентификации, ssh-add использует последнюю ключевую фразу.
Для того, чтобы ssh-add работал, аутентификационный агент должен быть запущен и должен являться прародителем текущего процесса.
Используемые опции:
-l
Перечисляет отпечатки всех идентификаторов, представленных агентом в настоящий момент.
-L
Перечисляет параметры публичных ключей всех идентификаторов, представленных агентом в настоящий момент.
-d
Вместо добавления идентификации, удаляет её из агента.
-D
Удаляет все идентификаторы из агента.
-x
Блокирует агента при помощи пароля.
-X
Разблокирует агента.
-tlife
Устанавливает максимальный срок действия для добавленного в агента идентификатора. Срок действия может быть указан в секундах или в виде, описанном в sshd_config(5).
-c
Обозначает, что добавленная идентификация перед использованием должна быть подтверждена. Подтверждение осуществляется посредством SSH_ASKPASS-программы, упоминаемой ниже. Успешное подтверждение подтверждается нулевым кодом выхода SSH_ASKPASS-программы перед тем, как в окно запроса введён текст.
-sreader
Добавляет ключ в устройство чтения smartcard.
-ereader
Удаляет ключ из устройства чтения smartcard.
ФАЙЛЫ
$HOME/.ssh/identity
Содержит RSA-идентификатор аутентификации пользователя для протокола версии 1.
$HOME/.ssh/id_dsa
Содержит DSA-идентификатор аутентификации пользователя для протокола версии 2.
$HOME/.ssh/id_rsa
Содержит RSA-идентификатор аутентификации пользователя для протокола версии 2.
Файлы идентификации должны быть доступным для чтения только для владельца. Имейте в виду, что ssh-add игнорирует этот файл, если он доступен для чтения остальным.
ПЕРЕМЕННЫЕ
DISPLAY и SSH_ASKPASS
Если ssh-add нужна ключевая фраза, то она будет прочитана с текущего терминала, если он запущен из терминала. Если же ssh-add не имеет ассоциированного терминала, но установлены переменные DISPLAY и SSH_ASKPASS, то будет выполнена команда, определенная SSH_ASKPASS, и открыто окно X11 для чтения ключевой фразы. Это может пригодиться при вызове ssh-add из .Xsession или схожего сценария. (Имейте в виду, что на некоторых машинах для нормального функционирования может потребоваться перенаправление ввода из /dev/null.)
SSH_AUTH_SOCK
Обозначает местоположение доменных подключений unix для связи с агентом.
ДИАГНОСТИКА
В случае успешного завершения возвращает статус 0; 1, если указанная команда завершилась с ошибкой и 1, если ssh-add не может установить соединение с агентом аутентификации.
АВТОРЫ
OpenSSH является производной от оригинальной и свободной версии ssh 1.2.12 от Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt и Dug Song удалили много ошибок, добавили обновленные возможности и создали OpenSSH. Markus Friedl внес вклад в виде поддержки для протокола SSH версий 1.5 и 2.0.