Я пытаюсь запустить соединение с openssh с помощью службы. К сожалению, openssh требует, чтобы ключ аутентификации был доступен для чтения только одному пользователю, который намеревается использовать его ... (если есть способ пропустить эту проверку, я не нашел его). Это нормально работает с обычными пользователями, используя:

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "%username%":"(R)"

Службы Windows работают под своим полупользователем, и я совершенно не в состоянии предоставить этому пользователю правильные права доступа к файлам.

редактировать: если у кого-то есть хорошие идеи для других, с открытым исходным кодом или бесплатно использовать ssh-программы или библиотеки, которые могут быть использованы для создания туннелей с ключами аутентификации, я весь в ушах. Кажется, у многих из них проблемы с поддержкой окон.

1 ответ1

1

Размещать в качестве ответа, чтобы его было проще найти (изначально в комментариях).

Службы Windows с именем пользователя по умолчанию, запускаемые под ним, просто "SYSTEM". Таким образом, метод командной строки для установки разрешений:

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "SYSTEM":"(R)"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .