저는 현재 SSH를 통한 원격 설치를 허용하는 소프트웨어 프로젝트를 진행하고 있습니다. 작은 설치 프로그램을 전송한 다음 기본 애플리케이션의 압축된 아카이브를 전송합니다. 설치 프로그램이 전송된 패키지의 압축을 풀고 실제로 백그라운드에서 애플리케이션을 실행하려는 부분에서 멈췄습니다. Linux에서는 모든 것이 완벽하게 작동합니다.안돼명령을 실행하고 조사한 결과 이 작업은 일반적으로 Windows에서 시작 명령을 통해 수행되지만 제대로 작동할 수 없다는 사실을 발견했습니다. 테스트로 start calc.exe를 실행하면 작동하고 프로세스가 작업 목록에 표시되지만(GUI는 없음) 다음과 같이 내 자신의 .exe를 실행하려고 하면시작 "" "app.exe" "-master"전혀 피드백을 받지 못합니다. 시작 명령에 대한 신뢰할 수 있는 대안이 있습니까? 프로세스는 오랫동안 실행되어야 하므로 SSH 세션과 독립적이어야 합니다. 또한 start calc.exe를 사용한 테스트는 원격 호스트(Windows 7 VM)에서만 성공했습니다. 편의상 현재 테스트용으로 주로 사용하고 있는 localhost(Windows)에서 결과를 재현해 보려고 해도 역시 실패했습니다. 미리 감사드립니다.
답변1
SSH를 통해 원격 Windows 컴퓨터에 액세스할 수 있는 경우 설명된 대로 RDP에 대해 역방향 전달 터널을 수행하십시오.여기GUI 세션에 정상적으로 로그인하십시오. 로그아웃하지 않고 간단히 SSH 터널을 종료하거나 로그아웃하지 않고 RDP 연결을 끊으면 세션은 그곳에서 시작한 모든 프로그램과 함께 활성화됩니다.
역방향 터널을 설정할 수 없는 경우 다른 해결 방법을 사용할 수 있습니다.
작업 스케줄러를 통해 세션 0에서 프로그램을 실행하세요. 의 도움을 받아 터미널을 통해 작업을 설정할 수 있습니다 schtasks.exe
. 이 경우 IPC, 메시지 루프 또는 파일을 통해서만 프로그램과 통신할 수 있습니다.