tldr; Интегрируется ли OpenSSH с Windows, так что при разблокировке Windows ssh-agent
«разблокирует» свои закрытые ключи, защищенные паролем?
На macOS и в Linux у вас обычно есть какой-то обработчик связки ключей, который будет интегрироваться ssh-agent
(каким-то образом) и автоматически разблокировать защищенные паролем закрытые ключи после разблокировки самой связки ключей. Он кэширует пароли один раз и использует их повторно. На Windows у вас, похоже, есть что-топохожий: когда 1Password был разблокирован на компьютере, вам нужно только предоставить PIN-код пользователя Windows, чтобы разблокировать его в следующий раз, когда он будет заблокирован. Так что есть некая интеграция между Windows и 1Password. Мне было интересно, есть ли что-то, что использовало бы похожую технологию для создания ssh-agent
интерфейса с Windows? Я хотел бы разблокировать некоторую связку ключей один раз и автоматически предоставлять пароли для всех моих защищенных закрытых ключей.
решение1
В Linux и (я полагаю) macOS связка ключей по умолчанию настроена на прямое использование вашего пароля для входа в качестве пароля связки ключей.
Порт OpenSSH от Microsoft для Windows уже делает то же самое, только "связка ключей" еще более тесно интегрирована с вашей учетной записью Windows. Версия ssh-agent, распространяемая с Windows, используетAPI-интерфейс защиты данныхдля шифрования закрытых ключей, которые хранятся в Реестре (хотя, как ни странно,нетв хранилище криптографических ключей, предоставленном CAPI/CNG).
Главный ключ DPAPI защищен с помощью вашего пароля для входа в Windows (именно поэтому Windows предупреждает вас о потере данных при принудительном сбросе пароля).