Tidak dapat melakukan remote desktop menggunakan xrdp

13

Saya memiliki mesin virtual Ubuntu yang saya perlukan untuk melakukan remote desktop. Saya tidak memiliki akses fisik ke mesin itu dan saya hanya dapat melakukan ssh ke mesin itu. Saya ingin melakukan remote desktop dan muncul dengan banyak opsi (vnc, xrdp, opennx). Saya menggunakan xrdp dan saya menginstal paket yang diperlukan di mesin ubuntu (xrdp dan dependen). Kemudian saya mengaktifkan akses jarak jauh di ubuntu menggunakan opsi baris perintah berikut.

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

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

Kemudian saya memulai kembali xrdp (/etc/init.d/xrdp start). Tetapi ketika saya mencoba melakukan rdp menggunakan klien windows (mstsc), saya mendapatkan kesalahan berikut. Akses jarak jauh ke server tidak diaktifkan.

Bagaimana saya mengatasi ini? Mohon bantuannya.

Raj

pengguna1667630
sumber

Jawaban:

13

Pada file /etc/xrdp/xrdp.ini tambahkan alamat = 0.0.0.0 yang merupakan alamat xrdp default.

Anda juga harus mengizinkan firewall untuk mendengarkan koneksi pada port 3389 yang sedang dijalankan xrdp. Untuk ini jalankan:

sudo ufw allow 3389

Jika itu tidak berhasil:

  1. Mulai ulang PC
  2. Nonaktifkan firewall ( sudo ufw disable) pada server pc dan kemudian periksa kembali (bahkan mungkin perlu restart lagi).

Dalam kasus anda tidak terjawab itu, saya akan daftar seluruh prosedur di bawah ini (yang merupakan rasa sakit untuk merakit). Anda akan baik-baik saja dengan itu jika Anda mengikuti langkah demi langkah (janji!).


Remote Desktop antara panduan langkah demi langkah OS apa pun

Aku . Windows ke / dari Windows:

Gunakan perangkat lunak Windows Remote Desktop

II . Linux / Unix ke / dari mana saja

Pertama-tama lakukan hal berikut di komputer server yang akan Anda hubungkan melalui remote desktop:

- 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 ke Linux dari terminal dengan dukungan grafis

- 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 untuk lebih baik) Windows ke Linux dengan dukungan GUI penuh. Inilah yang sebagian besar dari Anda inginkan.

- 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 ke / dari * nix

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

IV . Membuat koneksi aman (langkah opsional - berlaku untuk konfigurasi apa pun)

Protokol VNC & xrdp tidak aman yang artinya tidak dienkripsi.

Untuk membuat koneksi aman, edit file /etc/xrdp/xrdp.ini sehingga alamatnya menjadi 127.0.0.1. Ini akan menjadi alamat localhost dari server ssh. Enkripsi SSH akan digunakan di bawah untuk menyalurkan lalu lintas vnc.

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

Jika hal di atas tidak berhasil:

  1. Anda mungkin perlu me-restart kedua komputer,
  2. Nonaktifkan firewall ( sudo ufw disable) pada server pc dan kemudian periksa kembali (bahkan mungkin perlu restart lagi).
  3. Jika di atas tidak berfungsi maka Anda telah mengacaukan sistem Anda, dengan menginstal paket yang bertentangan. Anda harus melakukan pemecahan masalah manual untuk itu (sangat tidak mungkin Anda mencapai langkah ini jika Anda mengikuti instruksi dengan benar).

Sumber dan kredit:

Nikos
sumber
Jika Anda menjalankan Ubuntu 18.04.2 atau Ubuntu 18.04.3, menginstal xorgxrdp-hwe-18.04 dapat menyelesaikan masalah Anda (ini menyelesaikan masalah saya). Lihat posting blog ini: c-nergy.be/blog/?p=13972
jhin
4

Saya tidak terbiasa dengan xrdp pada khususnya, tetapi hal pertama yang akan saya periksa adalah untuk melihat apakah port yang digunakan adalah a) mendengarkan koneksi dan b) terbuka ke dunia luar. Port default untuk RDP adalah 3389 .

Yang pertama cukup mudah untuk diperiksa; jalankan saja terminal ini di mesin yang Anda coba sambungkan (ubah 3389 jika xrdp mendengarkan pada port yang berbeda):

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

Jika Anda mendapatkan sesuatu yang mirip dengan yang berikut ini, sesuatu yang setidaknya (semoga xrdp) adalah mendengarkan koneksi:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

Jika Anda tidak mendapatkan keluaran apa pun, coba (kembali) mulai xrdp atau periksa untuk memastikan Anda memiliki port yang tepat.

Selanjutnya, Anda perlu memastikan bahwa mesin dapat diakses ke Internet pada port itu, yang melibatkan dua hal: memastikan bahwa firewall pada mesin itu sendiri tidak memblokir koneksi ke port itu, dan memastikan bahwa setiap perangkat jaringan ( yaitu router) antara komputer yang Anda coba sambungkan dan Internet tidak memblokir koneksi. PortForward.com dapat membantu dengan yang terakhir; yang pertama tergantung pada jenis firewall apa yang diinstal pada mesin Anda, jika ada.

Semoga ini membantu!

stevenmirabito
sumber
1
Di bawah ini adalah output dari netstat .. Saya akan memeriksa bagian kedua dan membiarkan Anda tahu .. tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
user1667630
OK, bagus, itu artinya xrdp sedang mendengarkan koneksi. Anda memang mengatakan bahwa Anda hanya dapat mengakses mesin virtual pada port 22, yang akan menjadi alasan mengapa klien RDP tidak dapat terhubung. Apa perangkat lunak mesin virtual yang Anda gunakan?
stevenmirabito
Saya minta maaf .. dapatkah Anda memberi tahu apa yang Anda maksud dengan "perangkat lunak mesin virtual" ... Di ubuntu, saya baru saja menginstal xrdp ..
user1667630
Anda mengatakan dalam OP: I have a virtual machine (ubuntu) to which i need to do remote desktop.Perangkat lunak apa yang dijalankan oleh mesin virtual (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ, dll.)? Apakah ini mesin di komputer lokal Anda atau VPS yang dihosting di suatu tempat?
stevenmirabito
maaf .. ya .. ini adalah VPS yang dihosting di suatu tempat !! Pada dasarnya ia menggunakan solusi Apache Software Foundation .. Virtual Computing Lab !!
user1667630
2

Saya akhirnya berhasil ini untuk saya; setup: laptop lama menjalankan ubuntu 13.10 menjalankan kesatuan standar; Saya telah menginstal cairo dock (yang membuatnya lebih bermanfaat bagi saya); masih tidak digunakan pada bilah aplikasi sisi kiri;

Alangkah baiknya untuk dapat menggunakan sistem win7 saya untuk rdp ke ubuntu 13.10 ini jadi saya menghabiskan beberapa jam pagi ini untuk melakukan penelitian. Inilah yang saya lakukan:

sudo apt-get update
sudo apt-get install xrdp

atau Anda dapat menggunakan pusat perangkat lunak ubuntu untuk menginstal.

Instalasi tampaknya berjalan ok dan tampaknya layanan xrdp dimulai ok.

Dari kotak win7 saya, saya membuka jendela rdp dan menggunakan alamat IP laptop untuk masuk; sebuah jendela memang terbuka tetapi hanya layar windows x11 standar (pola cross-hatch dengan x kursor); tidak ada tautan, ikon, atau menu untuk digunakan.

Lebih banyak penelitian google. Saya menginstal gnome-session-fallback:

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

Ini tidak berhasil; Saya mendapatkan layar kosong yang sama, tetapi menemukan URL lain yang menyarankan mgr sesi windows lain seperti XFCE, jadi saya menginstal desktop xubuntu:

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

Jangan lupa sudo /etc/init.d/xrdp restartsetelah semua perubahan.

Ini berhasil. Pada awalnya, pada permulaan awal sesi rdp, saya mendapatkan layar kosong yang sama tetapi setelah 10 detik (mungkin karena saya menggunakan win7 VDI di tempat kerja dari lokasi jarak jauh) muncul desktop xfce xubuntu yang dapat digunakan; tidak sebagus gnome tetapi sangat bermanfaat.

Semoga info ini bermanfaat, karena saya tidak bisa mendapatkan upaya awal untuk bekerja untuk saya.

Dave

pengguna224176
sumber
1

Selamat datang di Komunitas Ubuntu.

Pertama-tama Periksa Pengaturan Jaringan windows Virtual Machine di Virtual Box. Pilih Bridge Connection di pengaturan Jaringan. Periksa bahwa RDP diizinkan melewati Firewall of Window Client.

Ketan Patel
sumber
Hai .. saya bisa melakukan ssh. Bisakah Anda memberi tahu saya cara mengecek apakah RDP diizinkan melewati firewall
user1667630
Ya, Buka pengaturan firewall di klien Windows, Anda akan mendapatkan daftar program dan layanan yang diizinkan untuk lulus, Temukan RDP, Klik edit, Aktifkan dan terapkan.
Ketan Patel
Sudah diaktifkan !! Saya memeriksanya .. Apakah ada cara lain untuk mendapatkan UI ubuntu. Satu masalah lagi adalah hanya port 22 yang diaktifkan di ubuntu ..
user1667630
Matikan Ubuntu Firewall menggunakan stop perintah layanan iptables
Ketan Patel
1
sudo ufw disable 

kemudian coba masuk menggunakan perangkat lunak klien rdp .. Anda. Saya sedang dalam proses mengatur ini untuk 12,04 vps linux, sejauh ini saya terhubung tetapi tidak melihat desktop hanya jendela perintah.

Hai bud, Anda bilang Anda terhubung dan semua yang Anda lihat adalah jendela terminal, saya tidak tahu apa set lengkap Anda tapi di sini, milik saya saya harap ini membantu.

Pastikan vncserver Anda berjalan dengan vncserver :1 berikutnya nanoke ~/.vnc/xstartupini membawa Anda ke bin !! bla file bla, tempat Anda melihat baris terakhir ( & -x-window-manager), tambahkan & /etc/X11/Xsession &

Sekarang masuk ke file ini, /etc/xrdp/startwm.shdan PASTI DI SANA, baris terakhir Anda

. /etc/X11/Xsession

setelah melakukannya restart vncserver dengan melakukan ini.

vncserver -kill :1 

lalu mulai kembali

vncserver :1

Ngomong-ngomong saya harus menginstal lebih dari sekedar Xrdp dan saya melakukan beberapa perintah lagi untuk kembali jika Xrdp gagal, semua tampak bagus pada menit bagi saya, cobalah dan pastikan tahu apa yang memasak atau tidak. Semoga berhasil. Ps .. bintiknya bagus saat bekerja, tetaplah dengan itu.

jamjam
sumber
0

Jika hanya port 22 yang diizinkan melalui firewall, dan Anda tidak memiliki kontrol atas jalur jaringan Anda, Anda mungkin ingin menggunakan ssh tunneling untuk tunnel port yang Anda pilih pada kotak remote melalui sistem lokal Anda.

Jika melakukan ini dari kotak Linux / Unix lihat flag -L untuk ssh:

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

di mana 3390 pertama adalah nomor port lokal dan yang kedua 3389 adalah nomor port jarak jauh; Anda kemudian akan RDC ke 127.0.0.1:3390 untuk terhubung. Perhatikan bahwa terowongan terikat ke sesi ssh - jika Anda menutup sesi ssh, terowongan juga akan menutup dan koneksi Anda ke desktop jauh akan turun. Pastikan Anda menggunakan port yang tidak digunakan untuk sisi lokal.

Jika menghubungkan dari sistem Windows gunakan dempul dan aktifkan opsi tunneling ssh untuk sesi Anda (lihat koneksi-> SSH-> Tunnels di opsi konfigurasi sesi.)

Setelah terowongan terbentuk, Anda dapat menggunakan klien RDP yang Anda pilih untuk terhubung. Beberapa jawaban lain membahas bagian pengaturan ini (secara pribadi saya akhirnya mengikuti saran sesi xfce4.)

pengguna292300
sumber
0

Jalankan perintah di terminal:

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
Antony Ruddy
sumber