Problemas ao iniciar um programa no Windows ao executar o SSH como um serviço

1

Estou tentando configurar uma máquina Windows como um servidor SSH para que eu possa fazer o SSH em outra máquina Windows.

Instalei o OpenSSH no servidor e posso conectar-me a ele com sucesso de outro cliente Windows usando o Putty. Eu estou tentando escrever um script que irá abrir um aplicativo específico e, em seguida, executar um script Autohotkey para executar alguma ação dentro desse aplicativo. Eu tenho um arquivo em lotes no servidor SSH. Se eu executar esse arquivo em lote localmente, ele fará exatamente o que eu quero: ele abre o aplicativo, executa o script Autohotkey e sai normalmente. No entanto, se eu abrir esse mesmo arquivo em lotes por meio de uma sessão SSH, o processo do aplicativo será iniciado (vejo o processo no Gerenciador de Tarefas), mas a GUI não é aberta de fato. Pelo que consegui encontrar, é provável que o SSH esteja sendo executado como um serviço e não abra o aplicativo como o usuário atualmente conectado. Para tentar contornar isso, tentei o comando "runas". Novamente, eu tenho o mesmo resultado (o .exe aparece no Gerenciador de Tarefas, mas a GUI não abre). Além disso, ambos os métodos abrem o script AHK, mas o script não executa nenhuma ação.

Eu também tentei outro servidor SSH, freeSSHd, que NÃO é executado como um serviço. Usando isso, posso fazer com que o script faça exatamente o que eu quero via SSH. No entanto, esta solução não funciona para mim porque, idealmente, não haverá periféricos conectados ao servidor SSH. Ele só será conectado à rede via Ethernet. Se ele não estiver sendo executado como um serviço, isso significa que eu precisarei abrir o aplicativo manualmente e clicar no botão "Iniciar servidor SSH" toda vez que ele for reiniciado.

Como posso abrir um aplicativo GUI por SSH?

Obrigado

    
por DyslexicHobo 06.12.2017 / 17:33

2 respostas

0

Os serviços não podem exibir nenhum elemento da interface do usuário; eles são colocados em uma coisa (Desktop ou Windows Station ou algo assim, não importa no momento). Então, qualquer coisa GUI não vai funcionar.

Você precisaria de uma maneira de criar uma nova coisinha e, em seguida, colocar a aplicação nessa coisinha, tudo a partir da sessão de login do SSH. Embora seja possível construir algo para fazer isso, seria um desperdício de tempo, já que já foi feito. É chamado de RDC (Remote Desktop Connection), RDP (Remote Desktop Protocol) da AKA. Use RDP em vez de SSH. Use um cliente RDP em vez de um cliente SSH.

Se, por qualquer motivo, você precisar usar o SSH, use o SSH para estabelecer a conexão com o computador e, em seguida, use o encaminhamento de porta SSH para encapsular o RDP.

Se, por algum motivo, você não achar que pode usar o RDP, explique o motivo.

    
por 06.12.2017 / 18:27
0

Então a solução que acabou funcionando foi usando o PSExec (parte do PSTools). Eu brevemente tentei fazê-lo funcionar antes, mas tive o mesmo problema (GUI não aparecendo). O truque era que eu precisava usar a opção -i para uma sessão interativa. Obrigado a todos pela ajuda.

    
por 06.12.2017 / 19:03

Tags