Вы могли бы хотеть изучить реализацию C sslh.
С веб-сайта:
sslh позволяет, каждый принимает и Подключения HTTPS и соединения SSH на том же порте. Это позволяет соединиться с сервером SSH на порте 443 (например, из корпоративного брандмауэра) при тихом обслуживании HTTPS на том порте. Эта опция была уже реализована как сценарий Perl.
Существует две проблемы с sslh:
- Это находится в Perl. Это означает, что это - симпатичная голодная RAM, и вероятно не очень быстро.
- Это не справляется с отбрасыванием полномочия, которое довольно сомнительно.Очевидное решение обеих проблем состояло в том, чтобы повторно реализовать его в C, который является тем, о чем эта программа.
Оказывается, мы использовали неправильную версию aspnet_regiis.
Мы вызвали aspnet_regiis из % Windows% \ Microsoft.Net \ Framework \ v4.0.30319
каталог.
При вызове из 64-разрядной версии % Windows% \ Microsoft.Net \ Framework64 \ v4.0.30319
команда сообщила об успешном выполнении.
Тем не менее, сообщение об ошибке было бы полезным ...
РЕДАКТИРОВАТЬ:
Кажется, что контейнер ключей недоступен, если у вас нет профиля пользователя.
Когда на другом сервере мы разрешили учетной записи, которая использовала «Вход в качестве службы», получить доступ к контейнеру ключей, это не удалось, даже если она была в группе администраторов. Когда мы вошли в систему физически, создав при этом профиль пользователя, контейнер ключей действительно стал .