我有一台 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 时,出现以下错误。未启用对服务器的远程访问。
我该如何解决这个问题?请帮忙。
拉吉
答案1
在文件 /etc/xrdp/xrdp.ini 上添加 address=0.0.0.0,这是默认的 xrdp 地址。
您还必须允许防火墙监听 xrdp 正在运行的端口 3389 上的连接。为此执行:
sudo ufw allow 3389
如果这也不起作用:
- 重启电脑
- 禁用
sudo ufw disable
服务器电脑上的防火墙(),然后重新检查(甚至可能需要再次重新启动)。
如果你错过了,我将在下面列出整个过程(这是一个疼痛组装)。只要你一步一步地按照做就没问题了(保证!)。
任何操作系统之间的远程桌面分步指南
我. 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
亚组. 从具有图形支持的终端将 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
乙型. (b 代表更好) Windows 到 Linux 具有完整的 GUI 支持。这是大多数人想要的。
- 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
如果上述方法不起作用:
- 您可能需要重新启动两台计算机,
- 禁用
sudo ufw disable
服务器电脑上的防火墙(),然后重新检查(甚至可能需要再次重新启动)。 - 如果以上方法不起作用,则说明您安装了冲突的软件包,从而搞乱了系统。您必须手动进行故障排除(如果您正确遵循说明,则不太可能到达此步骤)。
资料来源及鸣谢:
- YouTube 上的“danscourses”频道精彩的 4 个视频系列
- https://www.tweaking4all.com/software/linux-software/use-xrdp-remote-access-ubuntu-14-04/
答案2
我对 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 或检查以确保您拥有正确的端口。
接下来,您需要确保该机器可以通过该端口访问互联网,这涉及两件事:确保机器本身的防火墙没有阻止到该端口的连接,并确保任何网络设备(即路由器)您尝试连接的计算机和互联网之间没有阻止连接。港口转运网可以帮助解决后者;前者取决于您的机器上安装了什么类型的防火墙(如果有)。
希望这可以帮助!
答案3
我终于让它为我工作了;设置:运行 ubuntu 13.10 的旧笔记本电脑,运行标准 unity;我已经安装了 cairo dock(这对我来说更有用);仍然不习惯左侧应用栏;
如果能够使用我的 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 建议使用另一个类似 XFCE 的 Windows 会话管理器,因此我安装了 xubuntu 桌面:
$ sudo apt-get install xubuntu-desktop
$ echo "xfce4-session" > ~/.xsession
sudo /etc/init.d/xrdp restart
完成所有更改后请不要忘记。
这很有效。首先,在首次启动 rdp 会话时,我得到了相同的空白屏幕,但 10 秒后(可能是因为我在远程位置使用 win7 VDI)弹出了一个可用的 xfce xubuntu 桌面;不如 gnome 好用,但非常好用。
希望这些信息有用,因为我无法让最初的尝试发挥作用。
戴夫
答案4
sudo ufw disable
然后尝试使用您的 rdp.. 客户端软件登录。我正在为 12.04 linux vps 设置它,到目前为止我已连接但看不到桌面,只有一个命令窗口。
嗨,伙计,你说你已经连接上了,但你看到的只是一个终端窗口,我不知道你的完整设置是什么,但这是我的,我希望它能有所帮助。
确保您的 vncserver 正在运行,vncserver :1
然后nano
进入 ~/.vnc/xstartup
bin!!blabla 文件,在其中您会看到最后一行(& -x-window-manager
),添加 & /etc/X11/Xsession &
现在进入这个文件,/etc/xrdp/startwm.sh
并确保其中的最后一行是
. /etc/X11/Xsession
完成后,通过以下步骤重新启动 vncserver。
vncserver -kill :1
然后重新启动
vncserver :1
顺便说一句,我不仅要安装 Xrdp,而且还执行了几个命令,以便在 Xrdp 失败时进行回退,目前对我来说一切似乎都很好,一定要试一试,然后让我们知道结果如何。祝你好运。附言:当它工作时,它非常棒,坚持下去。