Агент для ключей ssh-agent
Агент для ключей ssh-agent.
Содержание
1 Общая информация
- Является агентом по умолчанию, включённым в OpenSSH.
- Вводить парольную фразу каждый раз, когда используется ssh не очень удобно.
- Удобнее ввести пароль один раз, а затем все время пользоваться.
- Для этой задачи используется ssh-agent.
- ssh-agent хранит секретные ключи.
2 Использование
- ssh-agent создаёт файл-сокет с именем
/tmp/ssh-XXXXXXXX/agent.ppid
, через который осуществляется взаимодействие с агентом. - Всем дочерним процессам агент при помощи переменных окружения
SSH_AUTH_SOCK
(имя файла-сокета) иSSH_AGENT_PID
(идентификатор процесс агента) сообщает информацию о том, как с ним можно связаться. - Чтобы использовать эти переменные, запустите через
eval
:1eval $(ssh-agent)
- Программа ssh-add добавляет и удаляет ключи у агента:
1ssh-add options file
- После того как агент запущен и выполняется, необходимо сообщить ему информацию о ключах, например:
1ssh-add ~/.ssh/id_ed25519
- При вызове без параметров ssh-add сообщает агенту информацию о ключах из файлов
identity
,id_dsa
иid_rsa
. - При этом программа спрашивает парольную фразу для каждого из ключей.
- Ключ, для которого правильно была введена парольная фраза передаётся агенту.
- Если в качестве аргумента командной строки указан файл, программа сообщает агенту информацию только о том ключе, который находится в файле.
- Список известных агенту секретных ключей:
1ssh-add -l
- Опции командной строки программы ssh-add:
-l
: показать список отпечатков известных агенту ключей;-L
: показать информацию обо всех открытых ключах, соответствующих секретным ключам, известным ssh-add;-d
: удалить ключ у агента;-D
: удалить все ключи у агента;-x
: заблокировать агента паролем;-X
: разблокировать агента.
- Чтобы запустить агент автоматически и убедиться, что только один
ssh-agent
процесс выполняется одновременно, добавьте следующее в~/.bashrc
: