Назад | Перейти на главную страницу

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

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

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

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

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

Спасибо

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

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

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

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

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