By: Sadequl Hussain | Updated: 2017-11-21 | Comments (1) | Related: More >Database Administration
I am a system administrator / DBA using a Windows laptop. I can remotely connectto our Windows servers from my laptop. Some of my colleagues are using non-Windowssystems like Mac or Linux. Sometimes they also need to access these boxes. How canthey connect?
Get started with NoMachine. Download and install the software for your operating system on the computer or device you are connecting from and on the Windows/Linux/Mac computer you want to connect to. You can easily share a remote desktop or control a server over any network.
System administrators or DBAs often need to access Windows servers remotely.This can be for various reasons like:
Windows ships with a tool called the “Remote Desktop Client” to helpconnect to another Windows machine. However, there are users who do not use a Windowsworkstation. Particularly with the spread of open source databases, cloud technologiesand the need for accessing Linux servers, a lot of engineers now use an Apple MacBookor Linux distributions like Fedora or Ubuntu.
Some of these engineers and administrators may need to access Windows hosts.It would make their job much simpler if they had tools similar to the RDP client.
In this tip we will talk about a few remote desktop clients available for Macand Linux. We will talk about their ease of use, features, etc. In a future post,we will talk about Mac and Linux-based database client tools.
Please be careful when accessing production servers remotely. In most cases,organizations have strict security principles about who can access their servers,so readers need to follow those guidelines. Also, you should not run any commands,queries, or configurations from this tutorial on a production server. In the casewhen you are required to access remote servers and run commands, make sure you areconnected to the right server.
Although we list a number of remote clients from various vendors, this is byno means an exhaustive list. Nor do we endorse any of the products or have any affiliationwith their vendors. The observations made here are purely those of the author.
Also, this tip is not about how to install and configure remote desktop clients.Each software installer package will have its own requirements and dependenciesfor different operating systems; it’s not possible to address every issuewhere the package may be failing to install or the client failing to connect toa remote server. This is more of an overview of the tools available.
Before going into details, let’s talk about the features we want in a remotedesktop client. We wanted tools which:
With these features in mind, let’s first see what’s available forMac users.
For Mac users, Microsoft has released the Microsoft Remote Desktop app, downloadablefrom theMac App store. The application features connection saving, easy searching ofsaved connections, connectivity to Azure RemoteApp and remote resources:
Creating a new connection is fairly simple and intuitive:
Standard features like mapping local directories to remote machine, sound andprinter forwarding are also present:
Out next option for the Mac platform is CoRD,downloadable from its sourceforge site. CoRD is also easy to use and offers most features found in otherremote desktop tools.
The image below shows a local folder in a Mac system mapped to a remote Windowsmachine.
Royal TSX is yet another tool available for Mac fromRoyalApplications. The latest version requires at least the Mac OS Yosemite operatingsystem.
What sets RoyalTSX apart is its ability to use plugins for different types ofconnectivity. These plugins are available from Royal Software as well. The remotedesktop client plugin is installed by default. Similarly, other connection typeslike VNC, SSH, HTTP or FTP can be installed with plugins, making it almost a universalconnectivity tool.
Royal TSX allows repetitive command tasks or key sequences to be run automaticallybefore, after or when a connection is made. The images below show this:
Some plugins allow Windows processes, services or events to be accessed remotely.However, this requires the RoyalTSX server component:
As the image below shows, connecting to a Windows server is fairly simple andstandard. The credentials for the connections need to be created first:
The free version of Royal TSX allows up to 10 remote connections. If you arenot managing dozens of Windows servers, the free version can be a good choice.
Like Mac, there are remote desktop tools available for different flavors of Linux.To use these tools, needless to say, the Linux computer needs to be running in graphicalmode. Here are few of the tools to consider.
KRDC or KDE Remote Desktop Client is available for Linux distros running K Desktop,like Fedora. The package is available from KDE repo, so it can be easily installedwith the following command:
KRDC has a simple interface. However, in our opinion, it lacks a basic featureexpected from any RDP client.
For example, once a connection is created, KRDC can “remember” theremote server’s username and password, provided it’s saved in the KDEWallet Manager application.
This obviously means installing another KDE application in your workstation.The default wallet it looks for is called “kdewallet” and in a vanillainstallation of KDE Wallet, users don’t know the password for that wallet,nor can they change it (at least we could not).
This means when connecting from the KRDC tool, users will be prompted for thewallet’s password if the “Remember password (KWallet)” optionwas chosen. Since users would not know the password, they have to bypass this bypressing the “Cancel” button:
Bypassing the wallet password prompt will result in the tool asking for the remoteuser’s password. Not a show-stopper perhaps, but to most regular users thiscan be a time-consuming affair.
In our opinion, this is one of the best tools available for debian-based Linuxdistros, and can be downloaded from theRemmina GitHubrepo of FreeRDP. Unfortunately the installation page does not list any RedHat-baseddistros except Fedora. If you are using something like Ubuntu, Gentoo, Fedora orArchLinux, this tool should be yours.
The two images below show a remote Windows desktop displayed in Remmina runningin Ubuntu 16.10:
Other than RDP, this tool also supports NX, VNC and SSH protocols:
Some of the advanced features of Remmina connection properties are shown below:
Like RoyalTSX for Mac, this tool also allows for startup programs to run whena connection is made.
Another tool from the same repo owner is FreeRDP, a command line tool to startremote desktop sessions. This is available from theGitHubpage of the product. FreeRDP is available for Ubuntu, Debian, Fedora, and OpenSuSEin Linux distributions and for Mac and even Windows. As said, this is a commandline tool, but has a large number of options available as switches.
We installed the tool in a Fedora 26 machine and were able to connect to a WindowsServer. The actual command is xfreerdp and it’s located in the /usr/bin directory.The following code snippet shows a basic form of the command and its output. Inthis case, we can safely ignore the warning:
So far, the tools we have talked about all use the remote desktop protocol. Thisis a proprietary protocol developed by Microsoft and ships with any Windows machine.It runs on port 3389 by default. However, this is not the only protocol availablefor remote connections. We will talk about two other protocols:
VNC or Virtual Network Computing is a desktop sharing system using the RemoteFrame Buffer (RFB) protocol. Computers running a VNC server can be remotely connectedfrom other computers running a VNC client. This is a platform independent protocol,which means there are servers and clients available for Mac, Linux and Windows.This also means the same VNC client can connect to a remote Windows server or aLinux server, each of which could be running VNC as a service. In fact someof the RDP tools we have discussed so far like Remmina, KRDC or RoyalTSX - all featurea VNC client. The default port for VNC communication is 5900. For Java-based VNCclient, this is 5800.
Although VNC can be an alternative to remote desktop protocol, it means installationof additional software on the Windows server and configuring any firewall to allowtraffic on the VNC port.
There are various VNC client and server packages available for free, some ofthese are:
The image below shows the UltraVNC service running in a Windows Server 2016 machine.We downloaded it from UltraVNC’sofficial site.
And here are some of the UltraVNC service configurations:
The image below shows how we are using a TigerVNC Viewer client from a CentOS7.16 machine to connect to the Windows server running UltraVNC.
NX is another remote desktop sharing protocol developed by a company called NoMachine(there are also open source variants like OpenNX and FreeNX). The tool, also calledNoMachine, allows some cool features like recording the remote desktop sessionsor streaming remote multimedia. Unlike VNC or RDP, NoMachine does not have separatesoftware installers for client and server: a NoMachine install creates both thecomponents. Once NoMachine is installed in a Windows server, make sure the serviceis running and the firewall is allowing traffic through the default port of 4000.
In the image below, we can see the nxservice (NoMachine server) running as aWindows service:
The following series of images show a NoMachine client running in Fedora settingup a remote Windows server connection:
Once the connection is set up, subsequent connections are easy: just select theconnection icon and click on the “Connect” button:
Once the credentials are provided (here we are using password authentication),there are a number of options to choose from for logon, display, resolution, sound,multimedia, etc.:
As you can see, NoMachine provides lot of options to configure how you interactwith the remote computer. Once you click through the options, the remote desktopis shown as a locked screen:
You can now press Ctl+Alt+0 to bring out the NoMachine menu, click on the littleicon in the lower right corner and choose Ctl+Alt+Delete from the pop-up menu, thenclick on the “Done” button:
This will bring up the Windows logon screen where you can put the remote server’saccess credentials.
One thing to remember when troubleshooting remote desktop session issues is thenetworking layer. For any remote desktop connection to succeed:
We hope this tip has given you some ideas about choosing the right RDP tool.We leave it up to the reader to make their own choice. Feel free to comment aboutother non-Windows RDP clients you might be using in the comments section below.
If you are using a non-Windows workstation, consider the following: