Я работаю над Windows-версией серверного приложения, которое взаимодействует с веб-приложением. Изначально веб-приложение работало с сервером Linux и могло подключаться к Linux по SSH для выполнения команд на сервере. Мой план состоит в том, чтобы создать сервер C ++, использующий Qt для получения команд из веб-приложения, и обрабатывать их, чтобы выполнить версию Windows этих команд.
Так, например, если веб-приложение первоначально отправило «echo $ HOME» и получило обратно домашний каталог, я хочу получить ту же команду SSH на моем сервере Windows, а затем обработать ее, если сервер был настроен для домашнего каталога. C: \ Example \, тогда он отправит обратно C: \ Example \. Моя цель — внести как можно меньше изменений в веб-приложение, и вместо этого заставить сервер Windows обрабатывать команды Linux SSH для выполнения эквивалента Windows.
Я никогда раньше не работал с libssh, но после некоторых поисков я нашел его и прочитал, что он может быть использован в качестве сервера SSH2. По сути, мой вопрос здесь заключается в том, как мне использовать libss2 для создания сервера в моем проекте Qt, чтобы разрешить этому веб-приложению входить в SSH и отправлять команды.
Если вы думаете, что есть лучший способ, чем libssh, пожалуйста, дайте мне знать, это именно то, что я нашел в результате поиска.
ОБНОВЛЕНИЕ: я нашел этот код примера сервера. https://github.com/substack/libssh/blob/master/examples/samplesshd-tty.c
Честно говоря, я очень смущен этим. Я, вероятно, смогу разбить его и понять, что происходит после нескольких часов поиска в Google и проработки кода. Но если кто-то захочет показать мне основные объяснения того, что происходит на каждом этапе, это будет оценено.
Задача ещё не решена.
Других решений пока нет …