Як підтримувати сеанс входу в ssh-агент з новими 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 -agents ) - саме це змусило мене отримати брелок для Ubuntu. Ще одна причина, коли я більше не користуюся цим, - це те, що я переходжу до PowerShell як моєї основної оболонки.

Але я не впевнений, як домогтися того самого виду в Windows спеціально за допомогою PowerShell та Win32-OpenSSH .

Дякую!

Відповіді:


13

Потрібно налаштувати сервіс OpenSSH Authentication Agent для автоматичного запуску (або ви можете запускати його вручну кожного разу, коли відкриваєте свою панель повноважень вперше: Start-Service ssh-agent).

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

РЕДАКТУВАННЯ: Щоб мати SSH-агент для автоматичного запуску з Windows, ви можете запустити Set-Service ssh-agent -StartupType Automaticпідказку суперкористувача.


Чи можете ви додати детальну інформацію про те, як змусити ssh-агент запускатися автоматично?
Марк Вун

@MarkWoon Я щойно відредагував свою відповідь на це.
Davi Koscianski Vidal

2
Це, здається, не працює - Set-Service не має очевидних ефектів, і посібник Start-Service, хоча він щось починає, також неефективний - будь-яка команда ssh-add згодом не працює з "спілкуванням з агентом не вдалося". .
Кріс Додд

1
* У початковому меню пошуку "Послуги" * Двічі клацніть на "Агент аутентифікації OpenSSH" * Встановіть тип запуску на "Автоматичний" * Клацніть "Почати" * Клацніть ОК та вийдіть * * Тепер перейдіть до PowerShell та додайте ключ із "ssh -add "* Після цього агент запам'ятає ваш ключ, коли вам це потрібно :)
Есбен Андерсен

0

Не повна відповідь, але все ж вирішення проблеми, яка мене сюди привела. (Я також бачу тут коментар від іншої людини, що, здається, є тією ж проблемою.)

Якщо у вас є Git для Windows або MinGW або що-небудь інше, що може додати до вашого Windows утиліти GNU, це може заважати бінарним файлам OpenSSH для Windows. Для мене мені довелося видалити ProgramFiles / Git / bin зі змінної середовища PATH, а потім перезапустити PowerShell, щоб змусити це працювати. До цього я отримував "спілкування з агентом не вдалося"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.