Debian Lenny 머신의 원격 데스크톱 보기

Debian Lenny 머신의 원격 데스크톱 보기

내 프로젝트 사양을 요약하겠습니다. 동일한 LAN에 Windows 서버와 여러 Debian 클라이언트가 있는데, Debian 시스템에는 x 윈도우 시스템이 없으므로 명령줄을 사용해야 합니다. 시스템 시작 시 QT 애플리케이션을 실행하므로 사용자는 다른 항목을 보기 전에 GUI와만 상호 작용합니다.

내 프로젝트 요구 사항에 따라 시스템 관리자가 언제든지 최종 사용자가 데비안 컴퓨터에서 무엇을 하고 있는지 볼 수 있도록 허용해야 합니다. 따라서 최종 사용자는 언제든지 화면을 볼 수 있어야 합니다. 그는 이 작업을 수행하기 위해 Windows 시스템을 사용할 것입니다. 그래서 데비안 화면을 Windows 서버와 공유하는 것이 가능한지, 그리고 그 내용이 무엇인지 궁금합니다.

이 작업을 수행하려면 Debian 컴퓨터에 VNC 서버를 설정해야 합니까? 다른 방법이 있나요?

답변1

클라이언트 측에서만 터미널을 사용하는 경우(클라이언트 호스트에서 어떤 종류의 xserver도 실행하지 않는다고 하셨습니다) 이를 달성하기 위해 제안하는 방법은 다음과 같습니다. 실제로는 원격 호스트에서 터미널 세션을 모니터링하는 방법을 보여주는 최소한이지만 쉽게 확장 가능한 예입니다. 나는 이것을 할 수 있는 어떤 특별한 소프트웨어도 모릅니다. 아마도 이것을 더 우아하게 할 수 있는 방법이 있을 것이므로 너무 많은 것을 기대하지 마십시오.

rootsh나의 첫 번째 제안은 클라이언트 측에 설치하는 것입니다 .

이는 에코된 모든 키 입력과 터미널 출력을 파일 및/또는 시스템 로그에 기록하는 셸 주위의 래퍼입니다.겐시 웹사이트]

불행하게도 데비안 저장소에는 이것이 포함되어 있지 않으므로 자신만의 바이너리를 만들어야 합니다. rootsh에는 멋진 종속성이 없으므로 구현하기 쉽습니다. 또한 socat양방향 데이터 전송을 위한 도구가 필요합니다.

rootsh처럼 전화하면

./rootsh -i -f logfile

새로운 로그인 셸은 해당 셸부터 터미널에 에코되거나 하위 프로세스에 기록되는 모든 것 logfile(원래 tty에 사용된 특수 문자와 함께)까지 모든 것을 시작합니다.

이제 다음 명령을 사용하여 클라이언트에서 TCP 소켓을 만들 수 있습니다.

socat OPEN:logfile,ioreeof TCP-LISTEN:22222,fork

여기에서 관리자 호스트에 대한 정보를 읽을 수 있습니다. 예를 들어

 socat TCP:clientdomain:22222 STDOUT

또는 netcatie를 사용하십시오 telnet(socat의 Windows 바이너리를 사용할 수 있습니다).

노드 간 데이터 흐름을 보다 안전하게 유지하려면 socat암호화하도록 지시할 수도 있습니다 OPENSSL. 기사에서 이에 대한 좋은 설명을 찾을 수 있습니다.SSL을 사용하여 두 Socat 인스턴스 간의 트래픽 보호.

내 접근 방식에 몇 가지 결함이 있다는 점은 인정하지만, 특별한 도구 없이 무엇이 가능한지 설명하는 것으로 충분합니다.

관련 정보