xrdp를 사용하여 원격 데스크톱을 수행 할 수 없습니다


13

원격 데스크톱을 수행해야하는 Ubuntu 가상 머신이 있습니다. 해당 머신에 물리적으로 액세스 할 수 없으며 머신에 대한 ssh 만 수행 할 수 있습니다. 나는 원격 데스크톱을하고 싶었고 많은 옵션 (vnc, xrdp, opennx)을 생각해 냈습니다. 나는 xrdp를 사용했고 우분투 머신 (xrdp와 의존적)에 필요한 패키지를 설치했다. 그런 다음 다음 명령 줄 옵션을 사용하여 우분투에서 원격 액세스를 활성화했습니다.

gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true

gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false

그런 다음 xrdp (/etc/init.d/xrdp start)를 다시 시작했습니다. 그러나 Windows 클라이언트 (mstsc)를 사용하여 rdp를 수행하려고하면 다음 오류가 발생합니다. 서버에 대한 원격 액세스가 활성화되지 않았습니다.

이 문제를 어떻게 해결합니까? 친절하게 도와주세요.

주권

답변:


13

/etc/xrdp/xrdp.ini 파일에서 address = 0.0.0.0을 추가하십시오 (기본 xrdp 주소).

또한 xrdp가 작동중인 포트 3389의 연결을 방화벽이 수신하도록 방화벽을 허용해야합니다. 이를 위해 다음을 실행하십시오.

sudo ufw allow 3389

그것이 작동하지 않으면 :

  1. PC 재시작
  2. sudo ufw disable서버 PC에서 방화벽 ( )을 비활성화 한 다음 다시 확인하십시오 (다시 다시 시작해야 할 수도 있음).

이 과정을 놓치 셨다면, 나는의 (a이었다 아래의 전체 절차가 나열됩니다 통증이 조립을). 당신이 단계별로 (약속!) 따라하면 괜찮습니다.


모든 OS 단계별 가이드 간 원격 데스크톱

I . Windows와 Windows 간 :

Windows Remote Desktop 소프트웨어 사용

II . 어디서나 Linux / Unix

먼저 원격 데스크톱을 통해 연결할 서버 컴퓨터에서 다음을 수행하십시오.

- Allow other users to view your desktop
- Best to require a password
- service ssh status
- To allow computers to connect with X11 graphics system capabilities as well, you need to 
    install an X11 server on the computer that is trying to connect (client). So
    * for a Windows computer use XMing
    * for a Linux Ubuntu computer use XQuartz

IIa . 그래픽 지원 터미널에서 Windows에서 Linux로

- Launch XMing on Windows client
- Launch Putty
    * Fill in basic options
    * Connection -> SSH -> X11
        -> Enable X11 forwarding
        -> X display location = :0.0
        -> MIT-Magic-Cookie-1
        -> X authority file for local display = point to the Xming.exe executable

IIb . (b) 더 나은 GUI 지원으로 Windows에서 Linux로. 이것이 대부분의 사람들이 원하는 것입니다.

- install xrdp which uses the remote desktop protocol to present a GUI to the user. 
    It can provide a fully functional Linux terminal server, capable of accepting connections 
    from rdesktop, freerdp, and Microsoft's own terminal server / remote desktop clients. 
    xrdp is the daemon that handles RDP remote desktop access from Windows machines to Linux 
- edit the "/etc/xrdp/xrdp.ini" file to include the line:
    address=0.0.0.0
    right under #background=626x72 line. 0.0.0.0 is the local server address of xrdp
- Restart xrdp service
- allow xrdp port (probably 3389) through firewall
- We also need a VNC server. Install tightvncserver on Linux server machine. 
- run tightvncserver (no need to create a view-only password)
- "netstat -lvp | grep vnc" to check out the ports that tightvnc is listening on for 
    connections
- allow the vncserver port from the firewall: sudo ufw allow #
- allow the xrdp server
- Install xfce4 desktop environment an update to xfce, minimalistic faster and lightweight
    sudo apt-get install xfce4
- sudo apt-get install xfce4-terminal : way better than xterm
- sudo apt-get install gnome-icon-theme-full tango-icon-theme : installs icon sets
- Now we modify 2 files to make sure xrdp uses xfce4
    * echo xfce4-session >~/.xsession
    * secondly we modify startup file for xRDP located at /etc/xrdp/startwm.sh
        so it will start xfce4. Replace the last line with 
        startxfce4 
        (before it had something which started with a ., but no matter whatever it is, just 
        replace the last line)
    * restart xrdp service: sudo service xrdp restart
- Now you are ready to log into the computer from client using Remote Desktop (mstsc.exe). 
    Just supply the ipv4 or hostname of the VNC server.

III . * nix에서 * nix까지

- ssh -X [preferedUserName]@[targetIpv4Address] : -X flag enales X11 forwarding
- accept security certificates from trusted hosts when prompted

IV . 안전한 연결 만들기 (선택적 단계-모든 구성에 적용)

VNC 및 xrdp 프로토콜은 안전하지 않으므로 암호화되지 않습니다.

연결을 안전하게하려면 주소가 127.0.0.1이되도록 /etc/xrdp/xrdp.ini 파일을 편집하십시오. 이것은 ssh 서버의 로컬 호스트 주소입니다. SSH 암호화는 아래에서 vnc 트래픽을 터널링하는 데 사용됩니다.

- sudo service xrdp restart
- sudo service ssh restart
- pkill Xtightvnc
- tightvncserver
- putty -> Connection -> SSH -> Tunnels 
    * Source port: 5555
    * Destination: localhost:3389

위의 방법으로 문제가 해결되지 않으면 :

  1. 두 컴퓨터를 다시 시작해야 할 수도 있습니다.
  2. sudo ufw disable서버 PC에서 방화벽 ( )을 비활성화 한 다음 다시 확인하십시오 (다시 다시 시작해야 할 수도 있음).
  3. 위의 방법으로 문제가 해결되지 않으면 충돌하는 패키지를 설치하여 시스템을 망쳤습니다. 수동으로 문제를 해결해야합니다 (지침을 제대로 따르면이 단계에 도달 할 가능성이 거의 없습니다).

출처와 신용 :


Ubuntu 18.04.2 또는 Ubuntu 18.04.3을 실행중인 경우 xorgxrdp-hwe-18.04를 설치하면 문제가 해결 될 수 있습니다 (내 문제를 해결했습니다). 이 블로그 게시물을 참조하십시오 : c-nergy.be/blog/?p=13972
jhin

4

특히 xrdp에 익숙하지는 않지만 가장 먼저 확인해야 할 것은 포트의 사용이 a) 연결을 수신하고 b) 외부 세계에 열려 있는지 확인하는 것입니다. RDP의 기본 포트는 3389 입니다.

첫 번째는 확인하기가 매우 쉽습니다. 연결하려는 컴퓨터의 터미널에서 간단히 실행하십시오 (xrdp가 다른 포트에서 수신 대기하는 경우 3389 변경).

netstat -an | grep "LISTEN " | grep ":3389"

다음과 비슷한 것을 얻는다면 최소한 (xrdp) 무언가가 연결을 듣고 있습니다.

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

출력이 없으면 xrdp를 다시 시작하거나 올바른 포트가 있는지 확인하십시오.

다음으로, 해당 포트의 인터넷에서 머신에 액세스 할 수 있는지 확인해야합니다. 여기에는 머신 자체의 방화벽이 해당 포트에 대한 연결을 차단하지 않는지 확인하고 네트워크 장치 ( 연결하려는 컴퓨터와 인터넷 사이의 라우터)가 연결을 차단하지 않습니다. PortForward.com 은 후자를 도울 수 있습니다. 첫 번째는 컴퓨터에 어떤 종류의 방화벽이 설치되어 있는지에 따라 다릅니다.

도움이 되었기를 바랍니다!


1
다음은 netstat의 출력입니다. 두 번째 부분을 확인하고 알려 드리겠습니다. tcp 0 0.0.0.0:3389 0.0.0.0:* LISTEN
user1667630

좋습니다. xrdp가 연결을 수신하고 있음을 의미합니다. 그러나 포트 22의 가상 머신에만 액세스 할 수 있다고 말했기 때문에 RDP 클라이언트가 연결할 수 없습니다. 어떤 가상 머신 소프트웨어를 사용하고 있습니까?
stevenmirabito

죄송합니다 .. "가상 머신 소프트웨어"의 의미를 말씀해 주시겠습니까? 우분투에서는 xrdp를 설치했습니다.
user1667630

OP에서 다음과 같이 말했습니다 : I have a virtual machine (ubuntu) to which i need to do remote desktop.Virtual Machine, VMware, Virtuozzo, Xen, OpenVZ 등에서 가상 머신이 실행되는 소프트웨어는 무엇입니까? 이 컴퓨터가 로컬 컴퓨터의 컴퓨터입니까 아니면 어딘가에 VPS로 호스팅됩니까?
stevenmirabito

미안 .. 예 .. 그것은 어딘가에 호스팅 VPS입니다! 기본적으로 Apache Software Foundation의 솔루션을 사용합니다 .. Virtual Computing Lab !!
user1667630

2

나는 마침내 이것을 위해 나를 위해 일했다. 설치 : 표준 통합을 실행하는 우분투 13.10을 실행하는 이전 랩톱; 나는 cairo 독을 설치했습니다 (이것이 훨씬 더 유용합니다). 여전히 왼쪽 앱 바에는 사용되지 않습니다.

내 win7 시스템을 사용 하여이 우분투 13.10에 rdp 할 수있어서 오늘 아침 연구를하는 데 두 시간을 보냈습니다. 여기 내가 한 일이 있습니다.

sudo apt-get update
sudo apt-get install xrdp

또는 우분투 소프트웨어 센터를 사용하여 설치할 수 있습니다.

설치가 정상으로 보였고 xrdp 서비스가 정상으로 시작된 것 같습니다.

내 win7 상자에서 rdp 창을 열고 랩톱의 IP 주소를 사용하여 들어갔습니다. 윈도우가 열렸지만 표준 x11 윈도우 화면 (x 커서가있는 크로스 해치 패턴); 사용할 링크, 아이콘 또는 메뉴가 없습니다.

더 많은 Google 연구. gnome-session-fallback을 설치했습니다.

$ sudo apt-get install gnome-session-fallback
$ echo "gnome-session --session=gnome-fallback" > ~/.xsession

이것은 작동하지 않았다; 같은 빈 화면이 있지만 XFCE와 같은 다른 Windows 세션 관리자를 제안하는 다른 URL을 찾았으므로 xubuntu 데스크탑을 설치했습니다.

$ sudo apt-get install xubuntu-desktop
$ echo "xfce4-session" > ~/.xsession

sudo /etc/init.d/xrdp restart모든 변경 후를 잊지 마십시오 .

이것은 효과가 있었다. 처음에는 rdp 세션을 처음 시작할 때 동일한 빈 화면이 표시되었지만 10 초 후에 (아마도 원격 위치에서 직장에서 win7 VDI를 사용하고 있기 때문에) 사용 가능한 xfce xubuntu 데스크탑이 팝업되었습니다. 그놈만큼 좋지는 않지만 매우 유용합니다.

이 정보가 도움이 되었기를 바랍니다. 초기 작업을 수행 할 수 없었기 때문입니다.

데이브


1

우분투 커뮤니티에 오신 것을 환영합니다.

먼저 Virtual Box에서 Windows Virtual Machine의 네트워크 설정을 확인하십시오. 네트워크 설정에서 브리지 연결을 선택합니다. RDP가 Firewall of Window Client를 통과 할 수 있는지 확인합니다.


안녕하세요 .. ssh를 할 수 있습니다. RDP가 방화벽을 통과 할 수 있는지 확인하는 방법을 알려주시겠습니까?
user1667630

예, Windows 클라이언트에서 방화벽 설정을 열면 통과 할 수있는 프로그램 및 서비스 목록, RDP 찾기, 편집 클릭, 활성화 및 적용을 얻을 수 있습니다.
Ketan Patel

이미 활성화되었습니다! 확인했습니다. 우분투의 UI를 얻는 다른 방법이 있습니까? 또 하나의 문제는 .. 단지 포트 (22)는 우분투에서 사용 가능하다
user1667630

명령 서비스 iptables stop을 사용하여 우분투 방화벽 끄기
Ketan Patel

1
sudo ufw disable 

그런 다음 rdp .. 클라이언트 소프트웨어를 사용하여 로그인하십시오. 12.04 Linux vps에 대해 이것을 설정하는 과정에 있습니다. 지금까지 연결되었지만 바탕 화면 만 명령 창을 보지 못했습니다.

안녕 버드, 당신은 당신이 연결되었다고 말하고 당신이 보는 모두는 터미널 창입니다, 나는 당신의 완전한 설정이 무엇인지 모르지만 여기에 있습니다.

vncserver :1 다음 nano으로 vncserver가 실행되고 있는지 확인하십시오 ~/.vnc/xstartup. 마지막 줄 ( & -x-window-manager) 을 볼 수있는 bla bla 파일& /etc/X11/Xsession &

이제이 파일로 들어가서 /etc/xrdp/startwm.sh마지막 줄은

. /etc/X11/Xsession

그런 다음이를 수행하여 vncserver를 다시 시작하십시오.

vncserver -kill :1 

그런 다음 다시 시작

vncserver :1

그건 그렇고 내가 Xrdp 이상을 설치해야했고 Xrdp가 실패하면 폴백을 위해 몇 가지 명령을 더 수행했습니다. 행운을 빕니다. Ps .. 작동 할 때 두려운 모습을 유지하십시오.


0

방화벽을 통해 포트 22 만 허용되고 네트워크 경로를 제어 할 수없는 경우 ssh 터널링을 사용하여 원격 상자에서 선택한 포트를 로컬 시스템으로 터널링 할 수 있습니다.

Linux / Unix 상자에서이를 수행하는 경우 ssh에 대한 -L 플래그를 확인하십시오.

ssh -L 3390:127.0.0.1:3389 -l remote_user remote_host

여기서 첫 번째 3390은 로컬 포트 ​​번호이고 두 번째 3389는 원격 포트 번호입니다. 그런 다음 RDC를 127.0.0.1:3390으로 연결합니다. 터널은 ssh 세션에 연결되어 있습니다. ssh 세션을 닫으면 터널도 닫히고 원격 데스크톱에 대한 연결이 끊어집니다. 로컬쪽에 사용하지 않는 포트를 사용하십시오.

Windows 시스템에서 연결하는 경우 퍼티를 사용하고 세션에 대한 ssh 터널링 옵션을 활성화하십시오 (세션 구성 옵션에서 연결-> SSH-> 터널 참조).

터널이 설정되면 선택한 RDP 클라이언트를 사용하여 연결할 수 있습니다. 다른 답변 중 일부는 설정 의이 부분을 다루고 있습니다 (개인적으로 xfce4 세션 제안에 따라 상처를 입었습니다).


0

터미널에서 명령을 실행하십시오.

sudo apt-get install xrdp
sudo apt-add-repository ppa:ubuntu-mate-dev/ppa
sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate
sudo apt-get update 
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core ubuntu-mate-desktop


echo mate-session >~/.xsession
sudo service xrdp restart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.