Graphical Server Management
Command line is sufficient
I understand the idea of a command line interface may be a bit uncomfortable at first, but really it is a reasonable choice. You use the command line interface as on a Desktop so you should already be a little familiar with bash / zsh / shell of choice.
Advantage - fast and secure (via ssh).
IMO desktop environments do not really help on servers as everything server side is command line.
Start/stop services, edit config files, install/update packages, moving data files, firewall and network tools, and user management such tasks are not enhanced by running a graphical terminal.
Installing a desktop environment adds hundreds of packages the vast majority are unused and thus takes up disk space, complicated upgrades, and adds potential security holes (more applications == more potential security holes).
To manage servers use ssh + screen or an alternate to screen - Is there any user friendly alternative to screen?
This allows you to attach and reattach to your server.
Be sure to secure ssh with a least keys http://bodhizazen.com/Tutorials/SSH_security
nano / vim / emacs are all great tools for editing. You can use vim + ssh edit files remotely https://unix.stackexchange.com/questions/202918/how-do-i-remotely-edit-files-via-ssh
Or you can mount your file system over sshfs https://help.ubuntu.com/community/SSHFS
From the comments
chrylis Really, though, learn the CLI. It's the basis for reliable management tools like Puppet or Terraform because it can be automated.
el.pescado I'd also recommend getting used to commandline tools. Some distributions provide GUI admin tools (like YAST on OpenSuse), but every of those distribution provide different ones. Command line tools, on the other hand, work more or less the same on every Linux.
Graphical tools - WEB solutions
If you feel you NEED a graphical interface use one of the many web based interfaces. These tools are faster than VNC, more secure than VNC, graphical interfaces, and server task specific.
You can secure them via https or ssh (depending on tool).
You can connect to them from any OS via a browser.
- Webmin http://www.webmin.com/
- Cockpit http://cockpit-project.org/
And if needed there are several specialized web interfaces such as
- phpmyadmin - manages databases https://www.phpmyadmin.net/
-
Vitrualization also has several options.
Virt manager - supports KVM, Xen, and LXC with both spice and VNC viewer built in.
If you use KVM you can use Virt Manager over ssh - https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/chap-Virtualization_Administration_Guide-Remote_management_of_virtualized_guests.html
- There are many alternates including oVirt - https://ovirt.org/
-
There a wide range of alternate tools you can find many web interfaces if you google search. https://www.tecmint.com/web-control-panels-to-manage-linux-servers/
Paid solutions such as cpanel are very popular.
Cpanel https://cpanel.com/ https://cpanel.com/
Security tools
In addition to server management there are several tools available to montior your server.
- NIDS (Network Intrusion Detection)
Snort https://www.snort.org/ is but one tool to monitor network traffic, may be a bit of an overkill for most users. Base is the graphical interface for snort:
See https://s3.amazonaws.com/snort-org-site/production/document_files/files/000/000/122/original/Snort_2.9.9.x_on_Ubuntu_14-16.pdf
https://ubuntuforums.org/showthread.php?t=1477696
-
HIDS (Host Intrusion Detection System)
OSSEC is popular - https://ossec.github.io/
-
Nagios - https://www.nagios.org/ again a very popular option