A complete click-by-click, step-by-step video of this article is available here.

OR… You can read the article, line-by-line.

It all starts with a Linux Server running in the Windows Azure cloud…

Onto this you’ll install a remote desktop protocol (RDP) server called xrdp.

But to get this server software installed, you need to configure the Linux server. You’ll use your workstation to do this with an SSH client such as PuTTY. You’ll need to connect port 22 from the LINUX server up to the Internet. Then you can use the PUTTY client on your workstation to connect over SSH.

That gives you a command prompt. That’s as much as you need to get the XRDP server installed, running and ready to accept connections from the outside world.

You type a series of commands which will download and install the XRDP server on to your LINUX machine.

You can then fire up a local Remote Desktop client, such as the one that comes with Windows, if you are on a windows machine. Depending on the version of Windows you are using you can find it by searching for either “Remote Desktop” or “mstsc”. You can also connect directly from the Windows Azure portal by downloading the RDP file from the server.

Let’s have a look at how this is all achieved, click-by-click.

In the Windows Azure Portal, I create a new Virtual Machine. In this case I’m creating an Ubuntu Server 12.04 LTS. I specify the latest version release date, the machine name, the size of the VM, and I create an administrative, or root user – in this case “planky”. To keep things simple I avoid certificate authentication for the SSH session and just use a password.

I specify to create a new cloud service and I keep the default name. I then pick the Windows Azure subscription I want to use and pick a data centre to deploy to – in this case I use North Europe which is located in Dublin, Ireland, because that’s the closest Data Centre to me. You can see I pick one of my existing storage accounts. If you don’t already have one you want to use, just get the portal to automatically generate a storage account for you. I don’t worry about an Availability Set.

I make sure the SSH endpoint is connected to the load balancer. It’s set by default on port 22.

It takes a few minutes for the machine to provision.

I can get the DNS name of the server from the Dashboard. I just copy it in to the paste buffer.

If you already have an SSH client installed, you can paste the name in to it. I’ve got PuTTY installed. If you need to install a client at this stage, you could go to http://aka.ms/putty and download the puTTY client. Once installed, enter the DNS address and click connect.

A security message pops up to warn you that there is a chance that the server you are connecting to is not the one you think it is. For example if a hacker managed to modify the DNS settings in your computer. The message hints there are ways around these problems. The message is rather similar to the ones you get from the Remote Desktop client.

If you are happy you are not being misled, then go ahead, as I do in this case. I now log in as the root user I specified when I created the VM in the Windows Azure portal.

All the commands you are about to run need to be done at an elevated privilege. There is a rough approximation to the Windows “Run as Administrator”, known as “sudoo” or “SuDO”. This means “super-user do”. You specify this keyword and the following command is run at the elevated privilege level. That is, as long as the account you are logged in to is a superuser – which this one is.

Linux uses the notion of “packages”. The packaging system uses a special database to keep track of which packages are installed, which are not installed and which are available for installation. apt-get is a command that uses the database to find out how to install packages and find out which additional packages are needed for a selected package to work properly.

To update this list, I type sudo (that is, run in superuser context) get-apt update

You now need patience as a slew of information is dumped to the screen, and continues to do so for some minutes.

I now install a GUI dektop on to the Ubuntu server. In this case I use the Gnome desktop and the command is:

sudo apt-get install ubuntu-desktop

There is a warning about the amount of disk space this will take, but I’m happy with it and select “yes”.

…again you need some patience.

Once the desktop is installed, I need the rdp server so I can expose the desktop over a network connection. It’s a similar command:

sudo apt-get install xrdp

…and even though the console says the RDP server is started, experience shows me it hasn’t so I type

sudo /etc/init.d/xrdp start

Next I add a user that I want to be able to use the Remote Desktop with

sudo adduser primech. The “primech” bit is the username. You get prompted for some other user-type data.

…now, probably the first thing the user will want to do, because it’s probably going to be you, is to install packages and configure the system. So they need to be added to the sudo group with

sudo adduser primech sudo

Great! So now the internals of the Ubuntu Linux server are all set up. I now need to get it communicating over the Internet on the RDP port. By default, on a Linux Server, this port is not set up, like it is on a Windows Server.

In the portal I go to the endpoints tab and Add a new endpoint.

I specify a Standalone Endpoint and then on the next page select Remote Desktop and in this case leave both the public and private ports at 3389.

That’s the default port for RDP connections. The portal connects port 3389 from the Linux Server to the load balancer. It then connects port 3389 from the load balancer to the internet and maps the external port to the internal one. SO anybody now coming in to this service on port 3389 will be taken straight to the Linux Server on port 3389 and the RDP server running in the Linux Server will respond.

Flipping back to the virtual machines page in the portal, now the Remote Desktop Protocol is configured, the “CONNECT” icon at the bottom of the screen is available.

Clicking this now gives a very similar experience to connecting to a Windows Server only the logon page is coming from the Linux Server. Enter the username and password of the user you just created and you’ll be logged in to the Gnome desktop.

As a general rule, you’ll find the desktop and RDP server are not as optimised for network usage as the Windows desktop, but it’s still a very usable system.

Here is a screenshot of the Linux desktop where I use Firefox to connect to the Windows Azure portal. I can see the portal that is managing the server I’m connected to.

Now, as the captain of a 747 says, when he needs a coffee – “you have control”.

If you want to try any of this stuff out for free on Windows Azure, get a free Windows Azure subscription at http://aka.ms/azure_trial.

You can try up to 30 different labs on Azure using the free training kit, downloadable from http://aka/ms/watk.

You can watch the video of this with step-by-step and click-by-click commentary on the Channel 9 Website.

 

Running a Remote Desktop on a Windows Azure Linux VM (远程桌面到Windows Azure Linux )-摘自网络(试了,没成功 - -!)的更多相关文章

  1. 使用Mac的Remote Desktop Manager连接ubuntu16.04 & Win10的远程桌面

    疫情严重,公司实行远程办公.自己只有mac电脑,苦于3个系统间跨平台建立远程桌面. 今天,终于尝试成功!特来记录,以防别人踩坑! Mac远程软件安装 Remote Desktop Manager软件非 ...

  2. Windows Server 2012 没有远程桌面授权服务器可以提供许可证,远程会话被中断

    今天在登录公司内部的服务器的时候,无法进行远程访问. 弹出错误信息:没有远程桌面授权服务器可以提供许可证,远程会话被中断 经过网上的寻找,原来是server 2012 远程登录只提供120天的使用期限 ...

  3. windows本地安全策略实验-远程桌面连接锁定账户

    windows本地安全策略实验-远程桌面连接锁定账户 实验环境: 服务端:Win7-1:10.10.10.136,开启远程桌面服务 客户端:win7-2:10.10.10.153 确保客户端和服务端能 ...

  4. Windows苹果安卓手机远程桌面客户端推荐

    适用于:Windows 10.Windows 8.1.Windows Server 2012 R2.Windows Server 2016 最近公司电脑从Windows7升级到了Windows10,然 ...

  5. Windows:打开MSDTC,恢复Windows任务栏,查看windows日志,打开远程桌面,打开Services,资源监控

    Windows 服务器系列: Windows:查看IP地址,IP地址对应的机器名,占用的端口,以及占用该端口的应用程 Windows:使用Dos命令管理服务(Services) Windows:任务调 ...

  6. 在工作组的环境中配置Windows 2012 R2的远程桌面服务

    在工作组的环境中配置Windows 2012 R2的远程桌面服务 How to configure Remote Desktop Service in Windows 2012 R2 workgrou ...

  7. Windows与Linux相互远程桌面连接

        对于远程桌面连接Linux,大家可能会第一时间想到使用VNC,,远程桌面Windows,大家第一时间会想到使用Windows自带的远程桌面.那么有没有办法,使得在Linux中可以远程Windo ...

  8. windows server 2012 r2 远程桌面连接指南

    具体详情请阅览文档  http://pan.baidu.com/s/1jHTCpW6 windows server 2012 r2 远程桌面连接指南 - 作者 rick·bao - 日期 2016-0 ...

  9. ubuntu远程桌面连接windows系统(转)

    现在用ubuntu系统,公司买了个windows的服务器,需要给配置一套环境,来回跑很麻烦,就想windows下可以的远程桌面,linux应该也有. 现在自己的ubuntu13.10,无法进入桌面的& ...

随机推荐

  1. Java API —— 多线程

    1.多线程概述     1)进程:         正在运行的程序,是系统进行资源分配和调用的独立单位.         每一个进程都有它自己的内存空间和系统资源.     2)线程:         ...

  2. 一个zip压缩类,欢迎吐槽

    package com.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import j ...

  3. opencv 画延长线

    hough变换可以让我们检测到直线,这在前面已有详解,对于车道检测,我们需要其到图像边界的延长线一遍之后数据帧分析. 以下代码帮助我们在opencv中画延长线,本来想用虚线表示延长线的,无奈参数调不好 ...

  4. (一)CSS三种插入方式

    CSS概述 CSS(Cascading Style Sheets)指层叠样式表,样式定义了如何显示HTML元素. 样式通常存储在样式表中,样式与HTML分离解决了内容与表现分离的问题. 多个样式表可以 ...

  5. [Codeforces673A]Bear and Game(水题,思路)

    题目链接:http://codeforces.com/contest/673/problem/A 题意:一个人看一个90分钟的节目,然后告诉你一些有趣的时刻.这个人假如在15分钟内还没有看到有趣的时刻 ...

  6. Effective C++学习笔记 条款04:确定对象被使用前已先被初始化

    一.为内置类型对象进行手工初始化,因为C++不保证初始化它们. 二.对象初始化数据成员是在进入构造函数用户编写代码前完成,要想对数据成员指定初始化值,那就必须使用初始化列表. class A { pu ...

  7. EJB3Persistence开发手册-原生SQL查询(NativeSQL)

    EJB3 QL对原生SQL做了非常好的支持.采用原生SQL做查询结果不但可以是象SQL中的返回列值,也可以是Entity类,甚至可以是两者的混合. EJB3 EntityManager接口定义了多个原 ...

  8. bzoj2351 2462

    我没写hash,写了一些奇怪的做法,好像被hash随便操了…… 如果没有多测,那么这道题是白书上的例题 把询问矩阵当作a个模板串,建成一个ac自动机 把一开始的矩阵当作n个串放到自动机上匹配,找到a个 ...

  9. UVa 1347 (双线程DP) Tour

    题意: 平面上有n个坐标均为正数的点,按照x坐标从小到大一次给出.求一条最短路线,从最左边的点出发到最右边的点,再回到最左边的点.除了第一个和最右一个点其他点恰好只经过一次. 分析: 可以等效为两个人 ...

  10. js学习总结

    转自 http://blog.sina.com.cn/s/blog_75cf5f3201011csu.html 一: 关于基本数据类型在栈内存和堆内存中的关系 基本数据对于栈内存和堆内存是可以复制的, ...