无法使用XRDP进行远程桌面


13

我有一个需要进行远程桌面的Ubuntu虚拟机。我没有对该计算机的物理访问权,只能对该计算机执行ssh。我想做远程桌面,并想出了很多选择(vnc,xrdp,opennx)。我使用了xrdp,并在ubuntu机器上安装了必要的软件包(xrdp和从属文件)。然后,我使用以下命令行选项在ubuntu中启用了远程访问。

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时,出现以下错误。未启用对服务器的远程访问。

我该如何解决?请帮助。

拉吉

Answers:


13

在文件/etc/xrdp/xrdp.ini上,添加地址= 0.0.0.0,这是默认的xrdp地址。

另外,您还必须允许防火墙侦听xrdp正在处理的端口3389上的连接。为此执行:

sudo ufw allow 3389

如果这也不起作用:

  1. 重新启动电脑
  2. sudo ufw disable在服务器PC上禁用防火墙(),然后重新检查(甚至可能需要重新启动)。

如果你错过了,我会在下面列出整个程序(这是一个痛苦组装)。如果您按照步骤进行操作,就可以了(诺言!)。


任何操作系统的分步指南之间的远程桌面

。Windows到Windows /从Windows:

使用Windows远程桌面软件

。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.

。* nix往返于* nix

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

。确保连接安全(可选步骤-适用于任何配置)

VNC和xrdp协议不安全,这意味着它们未加密。

要使连接安全,请编辑/etc/xrdp/xrdp.ini文件,以使地址变为127.0.0.1。这将是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或检查以确保您具有正确的端口。

接下来,您需要确保该端口上的Internet可访问该计算机,这涉及两件事:确保计算机本身的防火墙不会阻止与该端口的连接;以及确保任何网络设备(您尝试连接的计算机与Internet之间的路由器)。PortForward.com可以为后者提供帮助;首先取决于您的计算机上安装了哪种防火墙(如果有)。

希望这可以帮助!


1
下面是netstat的输出。.我将检查第二部分,然后让您知道。tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
user1667630 2013年

OK,很好,这意味着xrdp正在监听连接。您确实说过只能访问端口22上的虚拟机,这就是为什么RDP客户端无法连接的原因。您正在使用什么虚拟机软件?
stevenmirabito

对不起..您能告诉我“虚拟机软件”是什么意思吗...在ubuntu中,我刚刚安装了xrdp。–
2013年

您在OP中说:I have a virtual machine (ubuntu) to which i need to do remote desktop.虚拟机在什么软件下运行(VirtualBox,VMware,Virtuozzo,Xen,OpenVZ等)?这是您本地计算机上的计算机,还是某个地方托管的VPS?
stevenmirabito

对不起..是的..这是一个托管在某个地方的VPS!基本上,它使用Apache Software Foundation的解决方案。
user1667630'1

2

我终于得到了这个为我工作;设置:运行ubuntu 13.10的旧笔记本电脑,运行标准统一;我已经安装了cairo扩展坞(这对我来说更加有用);仍然不习惯左侧应用栏;

能够使用我的win7系统rdp进入这个Ubuntu 13.10很好,所以今天早上我花了几个小时进行研究。这是我所做的:

sudo apt-get update
sudo apt-get install xrdp

或者您可以使用ubuntu软件中心进行安装。

安装似乎可以正常进行,并且xrdp服务似乎已正常启动。

在我的win7盒子中,我打开了rdp窗口,并使用笔记本电脑的IP地址进入了该窗口。确实打开了一个窗口,但是只有一个标准的x11窗口屏幕(带有x光标的交叉线图案);没有要使用的链接,图标或菜单。

更多Google研究。我安装了gnome-session-fallback:

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

这行不通;我得到了相同的黑屏,但是找到了另一个URL,该URL暗示了另一个Windows会话mgr,例如XFCE,因此我安装了xubuntu桌面:

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

别忘了sudo /etc/init.d/xrdp restart进行所有更改。

这工作了。刚开始时,在rdp会话启动时,我得到了相同的黑屏,但是10秒钟后(可能是因为我正在从远程位置使用Win7 VDI)弹出了一个可用的xfce xubuntu桌面。不如侏儒好,但非常有用。

希望此信息对您有所帮助,因为我无法尝试为我工作。

戴夫


1

欢迎来到Ubuntu社区。

首先,在Virtual Box中检查Windows虚拟机的网络设置。在“网络设置”中选择“网桥连接”。检查是否允许RDP通过Window Client的防火墙。


嗨..我能够做ssh。您能告诉我如何检查是否允许RDP通过防火墙

是的,在Windows客户端中打开防火墙设置,您将获得允许通过的程序和服务的列表,找到RDP,单击“编辑”,“启用并应用”。
Ketan Patel

已经启用了!!我检查了它。还有其他方法可以获取ubuntu的UI。还有一个问题是,只有22端口在Ubuntu启用..
user1667630

使用命令服务iptables stop关闭Ubuntu防火墙
Ketan Patel 2013年

1
sudo ufw disable 

然后尝试使用rdp ..客户端软件登录。我正在为12.04 linux vps进行设置,到目前为止,我已连接但没有看到仅命令窗口的桌面。

嗨,朋友们,您说您已建立连接,而您看到的只是一个终端窗口,我不知道您的完整设置是什么,但是在这里,我希望它能对您有所帮助。

确保您的vncserver通过运行vncserver :1 下一个nano进入 ~/.vnc/xstartup这个带给你一个箱子!bla bla文件,在最后一行(& -x-window-manager)处添加 & /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隧道选项(请在会话配置选项中查看connection-> SSH-> Tunnels。)

建立隧道后,您可以使用所选的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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.