Webmin is a great web-based control panel for various Linux/Unix distro. It allow you to configure your server through a modern web-based interface.
First, we need to add the Webmin repository so that we can easily install and update Webmin using our package manager. We do this by adding the repository to the
Open the file in nano editor:
$ sudo nano /etc/apt/sources.list
Then add the following line to the bottom of the file to add the new repository:
deb http://download.webmin.com/download/repository sarge contrib
Next, add the Webmin PGP key so that your system will trust the new repository:
$ wget http://www.webmin.com/jcameron-key.asc $ sudo apt-key add jcameron-key.asc
Next, update the list of packages to include the Webmin repository:
$ sudo apt update
Then install Webmin:
$ sudo apt install webmin
Once the installation finishes, you’ll be presented with the following output:
Output Webmin install complete. You can now login to https://your_server_ip:10000 as root with your root password, or as any user who can use sudo.
Verify Webmin is working:
$ wget http://localhost:10000
Remote access to Webmin
Though Webmin can be access through the web securely by implement 2FA, using HTTPS connection and even changing the port number but this will only reduce and not eliminating the risks.
It make senses that I can use SSH Tunnel as I am the only one accessing it.
First, We will need to block the internet access to webmin:
$ sudo ufw delete allow 10000
Next, we will establish local port forwarding through an SSH tunnel:
$ ssh -p 22 user@host -L <local-port>:<remote-host>:<remote-port> -N &
Lastly, we access webmin using the following url: