Como executar um encapsulamento putsh ssh como serviço do Windows?

4

No Windows XP ou acima, posso executar um comando shell

putty.exe -load ssh_tunnel

para iniciar uma sessão ssh configurada como tunelamento ssh.

Eu quero que a sessão de túnel ssh esteja disponível quando meu computador for iniciado sem logon em qualquer sessão de usuário.

Mantenha o comando shell no serviço do Windows parece ser a única solução. Eu tento criar um serviço:

c:\> sc create ssh_tunnel binpath="c:\putty.exe -load ssh_tunnel
[SC] CreateService SUCCESS

O serviço criado com sucesso. Quando eu começo o serviço:

C:\>sc start ssh_tunnel
[SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.

Não começa.

    
por Chau Chee Yang 10.03.2012 / 10:12

1 resposta

4

Os serviços do Windows devem ser especialmente escritos para responder às solicitações de controle do Service Manager. Você não pode usar nenhum executável aleatório como binPath ; você precisará usar srvany ou ferramentas semelhantes.

Você também deve usar a linha de comando plink em vez de putty , pois o último pode não funcionar corretamente como um serviço.

Finalmente, observe que as sessões do PuTTY são por usuário, armazenadas em seu perfil do Windows. Os serviços normalmente são executados em contas especiais, usando o perfil SYSTEM . Você terá que alterar o serviço para ser executado sob sua própria conta, ou configure a sessão no perfil SYSTEM também ( psexec -dsi putty ).

    
por 10.03.2012 / 11:35