Security

Teleport VPN alternative for secure remote access

There is a really great VPN alternative solution in case you have not heard about it called Teleport. Teleport is an open-source solution that provides a community version of its enterprise offering. I decided to try this out in the home lab and stand up the Teleport VPN alternative to play around with remote connectivity. Let’s take a look at the Teleport VPN alternative for remote access and see how it is installed and configured.

What is Teleport?

The description provided by Teleport of what the Teleport service is exactly is it is a certificate authority and access plane for your infrastructure. It allows you to do several different things:

  • You have a single entry point for your SSH servers, Kubernetes clusters, databases, desktops, and web apps
  • You can define access policies for your infrastructure with audit logging and session recording
  • You can easily onboard users with IdP providers like Github, Okta, and Google Workspace
  • You have 2FA already built into the solution
  • It will automatically do LetsEncrypt certificates and has that built into the solution with some configuration

Installing Teleport on a Linux Server

For the purposes of testing this in my home lab, I quickly spun up an Ubuntu 22.04 VM quickly with my Packer template and Terraform deployment process. You can read about how I configure Ubuntu 22.04 templates and deploy these using Terraform in the below two posts:

For this post, I followed the official documentation found here:

On your Linux server, to install Teleport, run the following:

sudo curl https://deb.releases.teleport.dev/teleport-pubkey.asc \
  -o /usr/share/keyrings/teleport-archive-keyring.asc
echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] https://deb.releases.teleport.dev/ stable main" \
| sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null
sudo apt-get update
sudo apt-get install teleport

I used the private network deployment so I used the following for configuring the Teleport service

sudo teleport configure -o file \
    --cluster-name=tele.example.com \
    --public-addr=tele.example.com:443 \
    --cert-file=/var/lib/teleport/fullchain.pem \
    --key-file=/var/lib/teleport/privkey.pem

Start the Teleport service:

sudo systemctl start teleport

Creating the teleport-admin user

You need to run a command at the console to create the teleport-admin user:

sudo tctl users add teleport-admin --roles=editor,access --logins=root
Running the command to create a teleport admin account
Running the command to create a teleport admin account

Once you generate the initial teleport-admin account and browse out to the Teleport URL, you will see the form below. It will have you set the teleport-admin credentials and you can also scan the QR code for adding 2FA to the account. When you access your resources remotely with the Teleport VPN alternative, you will be entering your strong password and 2FA OTP so it makes you feel good about the security of the solution.

Browsing out to your teleport server and setting up the Teleport administrator and 2FA
Browsing out to your teleport server and setting up the Teleport administrator and 2FA

Below is the Teleport portal once you have installed the solution and logged in. You will see the teleport server itself listed.

Logged into the Teleport console
Logged into the Teleport console

When you click the Add Server link, you will see the options to add an AWS server, automatically add a server using the command it displays, or you can manually add servers to the Teleport server.

Adding a new server to Teleport
Adding a new server to Teleport

Wrapping up and impressions

The Teleport VPN alternative provides an extremely interesting option for accessing internal home lab resources in a secure way. I like their attention to detail when it comes to security. They obviously understand the importance of security best practices with their guidance regarding certificates and 2FA authentication being mandatory when you configure your account.

The community edition is free to download and play around with and use for your home lab or other use cases. One of the other things I would like to try out is the Windows Desktop access using Teleport. However, it does look like the setup for the Windows desktop access is fairly involved. But, look for that in a future post where we will take a look at what it takes to setup access to Windows Servers, clients, etc.

Subscribe to VirtualizationHowto via Email 🔔

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com and has over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, Brandon has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.