Akamai Linode has recently added Kali Linux to their list of available operating systems for their VPS. They even include a version with TigerVNC and XFCE so you can connect to a graphical desktop using VNC.

Table of Contents

Credit

This tutorial is based on https://www.linode.com/docs/products/tools/marketplace/guides/kali-linux/.

Creating the VPS

Go to your Linode management page (https://cloud.linode.com) and click on Create Linode. You can create a non-graphical Kali Linux instance by selecting the OS under Distributions -> Images, but we are going to connect to the VPS with VNC, so we can use a graphical desktop. Go to Marketplace tab and select Kali Linux.

Kali Linux on Linode

Scroll down and type a VNC user and password. You’ll need these credentials to connect to the VPS later. Under Advanced options you can select whether you want to install all available programs on Kali (Kali Everything Package) or only the non-GUI ones (Kali Headless Package). Keep in mind that the installation process will take more time if you select Kali Everything option. Selecting both is the same as selecting Kali Everything Package.

Kali Linux on Linode

Below these options, you can choose whether to install a VNC server and XFCE. Ensure Yes is checked. Scroll down again and select a region and a Linode plan (“Linode 2GB” plan works fine but you can test the “Nanode 1GB” plan if you want). Finally, add a root password and click on the “Create Linode” button at the bottom.

Kali Linux on Linode

Installation process will take some minutes, you can check the progress by clicking on Launch LISH console.

Kali Linux on Linode

Kali Linux on Linode

Wait until you see the VNC configuration lines and the line “Installation complete!”. Now it’s time to connect to your instance (you can close LISH console if you want).

Kali Linux on Linode

Creating an SSH tunnel

Because VNC is an unencrypted protocol, we’ll create an SSH tunnel to encrypt the connection. Open a terminal and create an SSH tunnel:

ssh -L <local port>:localhost:5901 -N -l <VNC username> <server IP>
  • <local port>: You can use any available local port, I will use the 61000.
  • -N is a parameter that means Do not execute a remote command, in other words, do not run a shell.

Accept the fingerprint, type your VNC user password, press Enter and keep the window open.

Connecting to the remote desktop

Now go to your VNC client and connect to localhost:<local port> with your VNC username and password. If everything goes well, you’ll see the XFCE desktop.

Kali Linux on Linode

Kali Linux on Linode

Now you can use (or install) your favorite Kali Linux tools remotely.

Kali Linux on Linode

If you have any suggestion, feel free to contact me via social media or email.