Проблемы с запуском программы в Windows при использовании SSH в качестве службы

Я пытаюсь настроить машину Windows в качестве SSH-сервера, чтобы я мог подключиться к ней по SSH с другой машины Windows.

Я установил OpenSSH на сервер и могу успешно подключиться к нему с другого клиента Windows с помощью Putty. Я пытаюсь написать сценарий, который откроет конкретное приложение, а затем запустит сценарий Autohotkey для выполнения некоторых действий в этом приложении. У меня есть командный файл на SSH-сервере. Если я запускаю этот командный файл локально, он делает именно то, что я хочу: он открывает приложение, запускает сценарий Autohotkey и изящно завершает работу. Однако, если я открываю тот же командный файл через сеанс SSH, процесс приложения запускается (я вижу процесс в диспетчере задач), но графический интерфейс фактически не открывается. Судя по тому, что мне удалось найти, это, вероятно, связано с тем, что SSH работает как служба и не открывает приложение от имени текущего пользователя, вошедшего в систему. Чтобы попытаться обойти это, я попытался выполнить команду «runas». Опять же, у меня тот же результат (.exe отображается в диспетчере задач, но графический интерфейс не открывается). Кроме того, оба этих метода открывают сценарий AHK, но сценарий не выполняет никаких действий.

Я также пробовал другой SSH-сервер, freeSSHd, который НЕ запускается как служба. Используя это, Я могу заставить скрипт делать именно то, что я хочу, через SSH. Однако это решение не работает для меня, потому что в идеале к серверу SSH не должно быть никаких периферийных устройств. Он просто будет подключен к сети через Ethernet. Если он не работает как служба, это означает, что мне нужно будет вручную открывать приложение и каждый раз нажимать кнопку «Запустить SSH-сервер» при его перезапуске.

Как я могу открыть приложение с графическим интерфейсом через SSH?

Спасибо

1
задан 6 December 2017 в 18:33
2 ответа

Итак, решение, которое в итоге сработало, заключалось в использовании PSExec (часть PSTools). Раньше я кратко пытался заставить его работать, но у меня была та же проблема (графический интерфейс не отображается). Уловка заключалась в том, что мне нужно было использовать параметр -i для интерактивного сеанса. Спасибо всем за помощь.

0
ответ дан 4 December 2019 в 04:23

Службы не могут отображать какие-либо элементы пользовательского интерфейса; их надевают на что-то (рабочий стол или Windows Station или что-то в этом роде, на данный момент не имеет значения). Так что ничего с графическим интерфейсом не будет работать.

Вам понадобится способ создать новую штуку, а затем поместить это приложение из сеанса входа в систему SSH. Хотя можно было бы создать что-то для этого, это было бы пустой тратой времени, поскольку это уже сделано. Это называется подключением к удаленному рабочему столу (RDC), AKA Remote Desktop Protocol (RDP). Используйте RDP вместо SSH. Используйте клиент RDP вместо клиента SSH.

Если по какой-либо причине вам необходимо использовать SSH, используйте SSH для установления соединения с компьютером, а затем используйте переадресацию порта SSH для туннелирования RDP.

Если, по какой-то причине вы не думаете, что можете использовать RDP, пожалуйста, объясните почему.

0
ответ дан 4 December 2019 в 04:23

Теги

Похожие вопросы