Как сохранить сеанс входа в систему через ssh-agent с помощью новых OpenSSH и PowerShell в Windows 10

18

На моей машине с Ubuntu я просто использую Keychain для поддержки одного ssh-агента, который остается в системе.

Я бы хотел что-то похожее на Windows теперь, когда OpenSSH изначально включен. Я использовал Git Bash с хорошо известным if [ -z "$SSH_AUTH_SOCK" ] ; then ...сценарием, но это привело к открытию многих ssh-агентов, я знал, что это не рекомендуется (частично из-за этого сообщения в блоге: http://rabexc.org/posts/pitfalls-of-ssh -агенты ) - вот что заставило меня получить брелок для Ubuntu. Еще одна причина, по которой я больше не использую это, заключается в том, что я перехожу на PowerShell в качестве основной оболочки.

Но я не уверен, как добиться того же самого в Windows, особенно с PowerShell и Win32-OpenSSH .

Благодаря!

Southclaws
источник

Ответы:

13

Вы должны настроить службу агента аутентификации OpenSSH на автоматический запуск (или вы можете запускать ее вручную каждый раз при первом открытии вашего PowerShell: Start-Service ssh-agent).

После этого вам нужно ssh-add C:\path\to\your\ssh\key\id_rsaтолько один раз. После этого при каждом запуске ssh-agent ключ будет находиться там. Вы можете проверить с ssh-add -l.

РЕДАКТИРОВАТЬ: Чтобы агент SSH автоматически запускался с Windows, вы можете запустить его Set-Service ssh-agent -StartupType Automaticпо приглашению PowerShell для суперпользователя.

Дави Косцянски Видаль
источник
Не могли бы вы добавить подробности о том, как заставить ssh-agent запускаться автоматически?
Марк Вун
@MarkWoon Я только что отредактировал свой ответ этим.
Дави Косцянски Видал
2
Это, похоже, не работает - Set-Service не имеет видимого эффекта, и ручной Start-Service, хотя и запускает что-то, также неэффективен - любая команда ssh-add после этого завершается с ошибкой «сбой связи с агентом» .. .
Крис Додд
1
* В стартовом меню найдите «Службы» * Дважды щелкните «Агент проверки подлинности OpenSSH» * Установите тип запуска «Автоматический» * Нажмите «Пуск» * Нажмите «ОК» и «Выйти» * * Теперь перейдите в PowerShell и добавьте свой ключ с помощью «ssh» -add "* После этого агент запомнит ваш ключ, когда он вам понадобится :)
Эсбен Андерсен