Xrdp kullanarak uzak masaüstü yapılamıyor


13

Uzak masaüstü yapmam gereken bir Ubuntu sanal makinem var. Bu makineye fiziksel erişimim yok ve sadece makineye ssh yapabilirim. Uzak masaüstü yapmak istedim ve birçok seçenek (vnc, xrdp, opennx) ile geldim. Xrdp kullandım ve ubuntu makineye gerekli paketleri yükledim (xrdp ve bağımlı). Sonra ubuntu'da aşağıdaki komut satırı seçeneğini kullanarak uzaktan erişimi etkinleştirdim.

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

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

Sonra xrdp'yi yeniden başlattım (/etc/init.d/xrdp start). Ama ben windows istemcisi (mstsc) kullanarak rdp yapmaya çalıştığınızda, aşağıdaki hatayı alıyorum. Sunucuya uzaktan erişim etkin değil.

Bunu nasıl çözerim? Kibarca yardım.

hakimiyet

Yanıtlar:


13

/Etc/xrdp/xrdp.ini dosyasında varsayılan xrdp adresi olan adres = 0.0.0.0'ı ekleyin.

Ayrıca, güvenlik duvarının xrdp'nin üzerinde çalıştığı 3389 numaralı bağlantı noktasındaki bağlantıları dinlemesine izin vermelisiniz. Bu yürütme için:

sudo ufw allow 3389

Bu da çalışmazsa:

  1. PC'leri yeniden başlat
  2. sudo ufw disableSunucu bilgisayarında güvenlik duvarını ( ) devre dışı bırakın ve ardından tekrar kontrol edin (başka bir yeniden başlatmaya bile ihtiyaç duyabilir).

Eğer bunu cevapsız i (bir oldu altında tüm prosedürü listeler ağrı monte). Eğer adım adım takip ederseniz, bu konuda iyi olacaksınız (söz!).


Herhangi bir işletim sisteminin Adım Adım kılavuzu arasında Uzak Masaüstü

Ben . Windows'tan Windows'a / Windows'a:

Windows Uzak Masaüstü yazılımını kullanma

II . Her yerden Linux / Unix

Öncelikle uzak masaüstü ile bağlanacağınız sunucu bilgisayarda aşağıdakileri yapın:

- 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 . Grafik desteği ile terminalden Windows'a 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 . (daha iyisi için b) Tam GUI desteği ile Windows'dan Linux'a. Çoğunuzun isteyeceği budur.

- 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 - den / nix

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

IV . Bağlantıyı güvenli hale getirme (isteğe bağlı adım - tüm yapılandırmalar için geçerlidir)

VNC ve xrdp protokolleri güvenli değildir, yani şifrelenmezler.

Bağlantıyı güvenli hale getirmek için /etc/xrdp/xrdp.ini dosyasını düzenleyerek adresin 127.0.0.1 olmasını sağlayın. Bu, ssh sunucusunun localhost adresi olacaktır. Vnc trafiğini tünellemek için altında SSH şifreleme kullanılacaktır.

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

Yukarıdakiler işe yaramazsa:

  1. Her iki bilgisayarı da yeniden başlatmanız gerekebilir,
  2. sudo ufw disableSunucu bilgisayarında güvenlik duvarını ( ) devre dışı bırakın ve ardından tekrar kontrol edin (başka bir yeniden başlatmaya bile ihtiyaç duyabilir).
  3. Yukarıdaki işlem işe yaramazsa, çakışan paketler yükleyerek sisteminizi bozmuş olursunuz. Bununla ilgili manuel sorun giderme işlemi yapmanız gerekir (talimatları doğru bir şekilde uygularsanız bu adıma ulaşmanız pek olası değildir).

Kaynaklar ve kredi:


Ubuntu 18.04.2 veya Ubuntu 18.04.3 kullanıyorsanız, xorgxrdp-hwe-18.04'ü yüklemek sorununuzu çözebilir (benimkini çözdü). Bu blog gönderisine bakın: c-nergy.be/blog/?p=13972
jhin

4

Özellikle xrdp'ye aşina değilim, ancak kontrol edeceğim ilk şey, bağlantı noktasının kullanımının a) bağlantıları dinlemek ve b) dış dünyaya açık olup olmadığını görmek. RDP için varsayılan bağlantı noktası 3389'dur .

İlk kontrol etmek oldukça kolaydır; sadece bağlanmaya çalıştığınız makinedeki terminalde çalıştırın (xrdp farklı bir bağlantı noktasını dinliyorsa 3389'u değiştirin):

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

Aşağıdakine benzer bir şey alırsanız, en azından (umarım xrdp) bir şey bağlantıları dinler:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

Herhangi bir çıktı almazsanız, xrdp'yi başlatmayı (yeniden) deneyin veya doğru bağlantı noktasına sahip olduğunuzdan emin olun.

Ardından, makinenin bu bağlantı noktasındaki İnternet tarafından erişilebilir olduğundan emin olmanız gerekir; bu iki şey içerir: makinenin kendisindeki güvenlik duvarının bu bağlantı noktasına olan bağlantıları engellemediğinden emin olun ve herhangi bir ağ cihazının ( örn. yönlendirici) bağlanmaya çalıştığınız bilgisayar ile İnternet arasındaki bağlantıları engellemiyor. PortForward.com ikincisine yardımcı olabilir; İlki, varsa makinenize ne tür bir güvenlik duvarı takıldığına bağlıdır.

Bu yardımcı olur umarım!


1
Aşağıda netstat çıktısı var .. İkinci kısmı kontrol edeceğim ve size şu şeyi söyleyeceğim .. tcp 0 0 0.0.0.0:3389 0.0.0.0:* DİNLE
user1667630

Tamam, güzel, bu xrdp'nin bağlantıları dinlediği anlamına geliyor. Bununla birlikte, sanal makineye yalnızca 22 numaralı bağlantı noktasından erişebileceğinizi söylediniz, bu yüzden RDP istemcisi bağlanamaz. Hangi sanal makine yazılımını kullanıyorsunuz?
stevenmirabito

Üzgünüm .. "sanal makine yazılımı" ile ne demek istediğini söyleyebilir misiniz ... Ubuntu, ben sadece xrdp yükledim ..
user1667630

OP'nizde şunları söylediniz: I have a virtual machine (ubuntu) to which i need to do remote desktop.Sanal makine (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ, vb.) Altında hangi yazılımı çalıştırıyor? Bu, yerel bilgisayarınızdaki bir makine mi yoksa bir yerde barındırılan bir VPS mi?
stevenmirabito

üzgünüm .. evet .. bir yerde barındırılan bir VPS !! Temelde Apache Software Foundation'ın çözümünü kullanır .. Sanal Bilgi İşlem Laboratuvarı !!
user1667630

3

Sonunda bunu benim için işe aldım; kurulum: ubuntu 13.10 çalışan eski dizüstü bilgisayar standart birlik çalışan; Kahire dock'u kurdum (bu benim için çok daha kullanışlı hale geliyor); hala sol taraftaki uygulama çubuğunda kullanılmıyor;

Bu ubuntu 13.10 içine rdp için win7 sistemimi kullanabilmek güzel olurdu, bu yüzden araştırma yapmak için bu sabah birkaç saat geçirdim. İşte yaptığım şey:

sudo apt-get update
sudo apt-get install xrdp

veya yüklemek için ubuntu yazılım merkezini kullanabilirsiniz.

Yükleme tamam gibi görünüyordu ve xrdp hizmeti tamam başlatıldı.

Win7 kutumdan bir rdp penceresi açtım ve içeri girmek için dizüstü bilgisayarın IP adresini kullandım; bir pencere açıldı ama sadece standart bir x11 pencere ekranı (x imleciyle çapraz tarama modeli); Kullanılacak bağlantı, simge veya menü yok.

Daha fazla Google araştırması. GNOME-session-fallback'i yükledim:

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

Bu işe yaramadı; Ben aynı boş ekran var, ama XFCE gibi başka bir windows oturum mgr öneren başka bir URL bulundu, bu yüzden xubuntu masaüstü yüklü:

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

sudo /etc/init.d/xrdp restartTüm değişikliklerden sonra unutmayın .

Bu işe yaradı. İlk başta, rdp oturumunun ilk başlangıcında, aynı boş ekranı aldım ama 10 saniye sonra (muhtemelen uzak bir konumdan işte win7 VDI kullandığım için) kullanılabilir bir xfce xubuntu masaüstünü attı; GNOME kadar hoş değil ama çok kullanışlı.

Umarım bu bilgi faydalı olacaktır, çünkü benim için çalışmaya ilk girişimi alamadım.

Dave


1

Ubuntu Topluluğuna Hoşgeldiniz.

Her şeyden önce Sanal Kutudaki Windows Sanal Makinesi'nin Ağ Ayarlarını kontrol edin. Ağ ayarlarında Köprü Bağlantısı'nı seçin. RDP'nin Pencere İstemcisi Güvenlik Duvarından geçmesine izin verildiğini kontrol edin.


Merhaba .. ssh yapabilirim. Bana RDP'nin güvenlik duvarından geçmesine izin verilip verilmediğini nasıl söyleyeceğinizi söyler misiniz
user1667630

Ya, Windows istemcisinde güvenlik duvarı ayarlarını aç, Geçmesine izin verilen programların ve hizmetlerin listesini alacaksınız, RDP'yi bulun, Düzenle üzerine tıklayın, Etkinleştir ve uygulayın.
Ketan Patel

Zaten etkinleştirildi !! Ben kontrol ettim .. Ubuntu UI almak için başka bir yolu var mı. Bir sorun daha ubuntu sadece bağlantı noktası 22 etkin ..
user1667630

Ubuntu Güvenlik Duvarını komut servisi iptables stop kullanarak kapatın
Ketan Patel

1
sudo ufw disable 

sonra rdp .. istemci yazılımınızı kullanarak giriş yapmayı deneyin. Ben 12.04 linux vps için bu kurma sürecinde, şimdiye kadar bağlı ama bir masaüstü sadece bir komut penceresi görmüyorum.

Merhaba dostum, bağlandığınızı ve gördüğünüz her şeyin bir terminal penceresi olduğunu söylemiştiniz, tam kurulumunuzun ne olduğunu bilmiyorum ama burada, benim umarım yardımcı olur.

Emin vncserver tarafından çalıştığı Be vncserver :1 sonraki nanoiçine ~/.vnc/xstartupbu bir bölmeye getirir !! Son satırı ( & -x-window-manager) gördüğünüz bla bla dosyası,& /etc/X11/Xsession &

Şimdi bu dosyaya gidin /etc/xrdp/startwm.shve orada olduğundan emin olun, son satırınız

. /etc/X11/Xsession

bunu yaptıktan sonra bunu yaparak vncserver'ı yeniden başlatın.

vncserver -kill :1 

sonra yeniden başlat

vncserver :1

Bu arada sadece Xrdp'den daha fazlasını kurmak zorunda kaldım ve Xrdp başarısız olursa geri dönüş için birkaç komut daha yaptım, hepsi benim için dakikada iyi görünüyor, emin olun ve ne pişirip pişirmediğini bilmemizi sağlar. İyi şanslar. Ps .. onun çalışırken çilli harika, onunla kalmak.


0

Güvenlik duvarı üzerinden yalnızca 22 numaralı bağlantı noktasına izin veriliyorsa ve ağ yolunuz üzerinde denetiminiz yoksa, uzaktaki kutuda seçtiğiniz bağlantı noktasını yerel sisteminize tünellemek için ssh tüneli kullanmak isteyebilirsiniz.

Bunu bir Linux / Unix kutusundan yapıyorsanız, ssh için -L bayrağına bakın:

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

burada ilk 3390 yerel port numarası ve ikinci 3389 uzak port numarasıdır; daha sonra bağlanmak için RD.0'dan 127.0.0.1:3390'a. Tünelin ssh oturumuna bağlı olduğunu unutmayın - o ssh oturumunu kapatırsanız, tünel de kapanır ve uzak masaüstünüzle olan bağlantınız kesilir. Yerel taraf için kullanılmayan bir bağlantı noktası kullandığınızdan emin olun.

Bir Windows sisteminden bağlanıyorsanız macun kullanın ve oturumunuz için ssh tünelleme seçeneklerini etkinleştirin (oturum yapılandırma seçeneklerindeki bağlantı-> SSH-> Tünellere bakın.)

Tünel oluşturulduktan sonra bağlanmak için seçtiğiniz RDP istemcisini kullanabilirsiniz. Diğer cevapların birçoğu kurulumun bu bölümünü ele alıyor (kişisel olarak xfce4-session önerisini takiben yaraladım.)


0

Terminaldeki komutları çalıştırın:

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.