SSH 터널을 통한 VNC/rdesktop

SSH 터널을 통한 VNC/rdesktop

방화벽 뒤에 Windows 컴퓨터를 사용하는 친구가 있습니다. 집에 방화벽이 없는 Linux 시스템이 있습니다.

저는 중개 서비스(예: )를 사용하지 않고 그의 컴퓨터에 rdesktop 연결을 설정하고 싶습니다 LogMeIn.

내 계획은 다음과 같습니다.

  1. SSH(방화벽에서는 SSH 허용)를 통해 내 컴퓨터에 연결하고 적절한 터널을 설정하도록 합니다.
  2. 현재 내 컴퓨터에서 실행 중인 서버에서 rdesktop/vnc를 활성화합니다 X.

내가 마음에 들지 않는 점은 현재 실행 중인 서버에서 자신의 사용자로 프로그램을 실행하는 것이 번거롭다는 것입니다 X. 차라리 그 사람이 어떻게든 터널을 설치해줬으면 좋겠어내 거rdesktop localhost:1234사용자가 나와 연결되어 있는 동안 내가 작업을 수행할 수 있도록 합니다.

더 똑똑한 방법이 있나요?

답변1

저는 VPN을 설정하는 것을 선호합니다(오픈VPN예) 서버는 귀하의 컴퓨터에 있고 클라이언트는 귀하의 친구의 컴퓨터에 있습니다. 그가 당신이 연결하기를 원할 때 그는 VPN을 열고(당신의 컴퓨터에 로그인이 필요하지 않음) 당신은 그의 컴퓨터의 IP에 대한 원격 데스크톱 클라이언트를 엽니다(적어도 openvpn을 사용하면 그의 컴퓨터 IP에 "핀"을 할당하여 다음을 수행할 수 있습니다). 저장하면 매번 볼 필요가 없습니다.)

이렇게 하면 당신은 당신의 컴퓨터에 로그인할 수 없으며 그가 VPN을 켤 때만 그의 컴퓨터에 액세스할 수 있습니다. 반면에 서버가 컴퓨터에 연결되는 것을 원하지 않을 때는 서버를 종료할 수 있습니다. 그럼에도 불구하고, 당신이 그에게 당신의 컴퓨터에 사용자(또는 당신이 원하는 액세스 권한만 가진 사용자)를 부여하지 않으면 그는 많은 일을 할 수 없습니다.

이렇게 하면 VPN 클라이언트만 설치하면 되기 때문에 필요한 경우 더 많은 친구들과 쉽게 사용할 수 있습니다.

답변2

질문을 올바르게 읽고 있다면 SSH 터널링 측면을 이미 이해하고 있는 것처럼 들리지만 친구의 세션에서 실행하는 대신 친구의 컴퓨터에서 프로그램을 자신의 사용자로 실행하고 싶어하는 것 같습니다. 백그라운드에서 실행되는 가상 데스크톱을 생성한 다음 친구 컴퓨터의 현재 활성 세션에 연결하는 대신 해당 데스크톱에 연결할 수 있는 VNC 서버(저는 매우 안정적인 Tightvnc를 사용합니다)가 많이 있습니다.

친구의 컴퓨터에 Tightvnc를 설치한 후에는 "tightvncserver :1"을 실행하여 다른 모니터에서 데스크톱을 시작한 다음 포트 5901(5900 + 모니터 번호)을 컴퓨터에 전달할 수 있습니다.

기본 데스크탑은 매우 유휴 상태입니다. 원격 시스템의 ~/.vnc/xsession 스크립트에서 시작 시 ightvnc가 실행되는 항목을 구성할 수 있습니다.

답변3

다음은 제가 몇 년 동안 성공적으로 사용해 온 약간 다른 접근 방식입니다. 일부 설정이 필요하지만 원격 친구에게는 매우 간단합니다.

먼저UltraVNC 클릭 클라이언트. 클라이언트가 있으면 원격 사용자에게 이메일을 보낼 수 있으며 클라이언트가 실행되면 리스너 모드에서 실행되는 vnc 클라이언트에 연결됩니다. 역방향 VNC 연결이라고 생각하세요. 역방향 연결, UltraVNC SC 등에 대해 자세히 알아볼 수 있습니다.여기.

Lifehacker는 이 모든 설정 방법을 훌륭하게 설명합니다.여기.

관련 정보