Linux Remote Desktop Options

Video Activity
Join over 3 million cybersecurity professionals advancing their career
Sign up with
Required fields are marked with an *
or

Already have an account? Sign In »

Time
21 hours 25 minutes
Difficulty
Intermediate
CEU/CPE
21
Video Transcription
00:00
>> Hey Cybrarians, welcome back to
00:00
the Linux plus course here at Cybrary.
00:00
I'm your instructor Rob Giles.
00:00
In today's lesson, we're going to be talking
00:00
about Linux remote desktop options.
00:00
Upon completion of this lesson,
00:00
you are going to be able to understand the options to
00:00
connect to a remote GUI session on a Linux server.
00:00
We're also going to see the differences
00:00
between the different remote desktop tools.
00:00
In general, when we're supporting a remote server,
00:00
a Linux server, we're going to connect to it via SSH.
00:00
But there are times that you
00:00
>> might need to have a GUI on
00:00
>> the other end and actually land
00:00
on the server and run a GUI environment.
00:00
There are some utilities that
00:00
require graphical interfaces,
00:00
and you might sometimes need to perform management via
00:00
web console on an internal only network.
00:00
For example, I know that there are
00:00
some storage components that for whatever reason,
00:00
I still have to connect to my server
00:00
in the office and run a GUI on it,
00:00
so that I can manage that
00:00
GUI base storage interface as well,
00:00
and so for those reasons,
00:00
sometimes I do have to use
00:00
a remote desktop connection like that.
00:00
Now, remote desktop software works
00:00
using a client-server model and we know this.
00:00
The server runs on the remote system,
00:00
the client runs on the local system,
00:00
it connects to the server
00:00
and it gets the graphics from there.
00:00
Now there's a few different ways that this is done.
00:00
There are actually four remote desktop options
00:00
that are covered on the Linux plus exam.
00:00
There's virtual network computing or VNC.
00:00
There's also no X or NX,
00:00
which is no machine.
00:00
There's XRDP, and then there's SPICE.
00:00
We're going to discuss all of these in
00:00
more detail in this lesson.
00:00
Virtual network computing for VNC
00:00
is the most established option.
00:00
It's been around since the early 2000s.
00:00
It uses a remote frame buffer,
00:00
RFP as the protocol.
00:00
RFP allows the client to
00:00
send the GUI commands to the server.
00:00
The server in turn sends
00:00
desktop frames back to
00:00
the client monitor via RFP as well.
00:00
The thing to remember about VNC is that it
00:00
operates over TCP port 5900+N.
00:00
What does that mean? Well,
00:00
N refers to display number.
00:00
This is a multi-user environment.
00:00
You may have multiple users connecting
00:00
to the same server and using VNC on it.
00:00
Each one of those users gets their own display.
00:00
The first display would be displayed one.
00:00
The first port would be 5901.
00:00
The next person to come along
00:00
and need a connection via VNC,
00:00
they get a new display, they get display two.
00:00
The port that they would connect on would be
00:00
5902 and so on and so forth.
00:00
Now the VNC client or viewer is pointed to
00:00
the server via host name and that port number.
00:00
You're going to go to it via Ubuntu, port 5901.
00:00
Or you might go to a via IP address, 192.168.159.01.
00:00
Once you get there, the client
00:00
is going to authenticate to
00:00
the server with a password and
00:00
a username for the VNC server.
00:00
The password is going to be set
00:00
specific to each and every user.
00:00
It is a password specific also to VNC.
00:00
This isn't the same as
00:00
the system password for a local user account.
00:00
This is a local VNC account on the server.
00:00
Now NX or no machine was created by NoMachine in 2001.
00:00
It's the NX protocol or the NX technology.
00:00
NX expanded on
00:00
the Differential X Protocol Compressor Project or DXPC.
00:00
It was created to improve performance of
00:00
the Native X Display Protocol.
00:00
The reason that they did this is that it could
00:00
use compression to make sure that
00:00
X display communication coming
00:00
back could be used over slower
00:00
>> connections and you could
00:00
>> still have a pretty good graphic performance
00:00
or performance in a graphical user environment.
00:00
Remember this about NX.
00:00
It uses OpenSSH tunneling,
00:00
which means help OpenSSH port 22.
00:00
It uses that by default to provide encryption.
00:00
NX is cross-platform.
00:00
It's a remote desktop tool
00:00
that can be installed on Linux,
00:00
Windows, and Mac servers,
00:00
whereas the client software is
00:00
also available across the board.
00:00
Linux, macOS, iOS,
00:00
Android, and Windows.
00:00
NX is faster than VNC and it also
00:00
supports multiple users through a single port.
00:00
Now, XRDP was created in 2004 as an alternative to VNC.
00:00
It was based off the work of free RDP and rDesktop,
00:00
those two communities that
00:00
>> we're creating that software.
00:00
>> XRDP supports that Remote Desktop Protocol.
00:00
RDP, Remote Desktop Protocol.
00:00
Anybody who's coming to us from Windows is
00:00
probably well familiar with remote desktop.
00:00
That's used by Windows.
00:00
What it does is it bridges the X Windows system,
00:00
which we know about now in Linux,
00:00
and RDP which is used in Windows environments.
00:00
It's going to send graphics from X to
00:00
the client and client controls are sent to X.
00:00
Remember this about XRDP.
00:00
It uses TCP port 3389.
00:00
That's also the standard RDP ports.
00:00
Again, people coming to us from Windows,
00:00
they're going to be familiar with 3389.
00:00
That's the remote desktop port by default.
00:00
XRDP only provides the server side, however.
00:00
We can install this on the server,
00:00
but in order to get there from the client,
00:00
we have to use other options.
00:00
We could use free RDP or rDesktop,
00:00
and then we can also use
00:00
Microsoft's remote desktop connection,
00:00
in some cases, certainly on Windows,
00:00
and also they have a MacOS Client for that.
00:00
Now the final and we'll talk about today is SPICE,
00:00
which is actually an acronym for
00:00
simple protocol for independent computing environments.
00:00
This was created in 2007,
00:00
and SPICE is used primarily to
00:00
provide remote connection when we're
00:00
trying to go through a virtual machine
00:00
or VM that's running on KVM.
00:00
Now SPICE has a bunch of benefits.
00:00
It's going to deliver speeds similar
00:00
to being on a local console.
00:00
Connected to the virtual host
00:00
and running a console from there.
00:00
It also uses low CPU consumption.
00:00
That's important because you're connecting
00:00
into the virtual host to get to the VM.
00:00
You don't want to overload the CPU on the virtual hosts
00:00
because it's going to impact performance of the VMs.
00:00
The nice thing about SPICE as well
00:00
is that the traffic is encrypted,
00:00
it use TLS encryption and authentication via SSL.
00:00
With that, we've reached the end of this lesson.
00:00
In this lesson we talked about the options for
00:00
connecting to a remote GUI session in Linux.
00:00
Then we also talked about how to
00:00
differentiate between remote desktop tools.
00:00
Thanks so much for being here and I look
00:00
forward to seeing you in the next lesson.
Up Next