퍼티 SSH 터널링을 Windows 서비스로 실행하는 방법은 무엇입니까?


4

Windows XP 이상에서 쉘 명령을 실행할 수 있습니다

putty.exe -load ssh_tunnel

ssh 터널링으로 구성된 ssh 세션을 시작합니다.

컴퓨터가 사용자 세션에 로그온하지 않고 시작할 때 ssh 터널 세션을 사용할 수있게하려고합니다.

Windows 서비스에서 쉘 명령을 유지하는 것이 유일한 해결책 인 것 같습니다. 서비스를 만들려고합니다.

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

서비스가 성공적으로 생성되었습니다. 서비스를 시작할 때 :

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

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

시작되지 않습니다.

답변:


4

서비스 관리자의 제어 요청에 응답하려면 Windows 서비스를 특별히 작성해야합니다. 임의의 실행 파일을 binPath; 으로 사용할 수 없습니다 . srvany비슷한 도구 를 사용해야 합니다.

후자는 서비스로 제대로 작동하지 않을 수 있으므로 plink대신 명령 줄을 사용해야합니다 putty.

마지막으로 PuTTY 세션은 사용자 별이며 Windows 프로필에 저장됩니다. 서비스는 일반적으로 SYSTEM프로필을 사용하여 특수 계정으로 실행됩니다 . 자신의 계정으로 실행되도록 서비스를 변경 하거나 SYSTEM 프로필에서도 세션을 구성해야합니다 ( psexec -dsi putty).


감사. 동적 IP 환경에서 srvany를 사용하는 데 문제가 있으며 Putty를 서비스 솔루션으로 진행하는 것은 실용적이지 않습니다. 마지막으로 plink를 사용하여 ssh 연결을 수행하기로 결정했습니다.
Chau Chee Yang

솔루션에 대해 확장 해 주시겠습니까? plink를 동일하게 사용하고 있지만 여전히을 얻습니다 service not responding to control request. 좀받을 net helpmsg 2186매우 도움이되지 않습니다 것을.
Sopalajo de Arrierez

1
@SopalajodeArrierez : 당신은 plink통해 srvany또는 직접 사용 하고 있습니까?
grawity

@grawity : 두 가지 방법으로 테스트되었습니다. 나는 마침내 그것을 해결했다 : 나는 plink.exe네트워크 드라이브에서 실행하려고했다. 나는 움직여서 c:\Putty이제는 잘 작동합니다. 감사합니다.
Sopalajo de Arrierez

@SopalajodeArrierez : 아, 그렇습니다. 서비스는 네트워크 자격 증명에 액세스 할 수 없습니다. (일반 계정이 아닌 특정 계정으로 실행되도록 구성 할 수 있지만)
grawity
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.