Teleport is a modern open-source access management system that provides secure access to your infrastructure through SSH, Kubernetes, and web applications. It offers features such as audit logging, role-based access control, and two-factor authentication. In this tutorial, we will show you how to install and configure a Teleport cluster on Debian 11. Whether you're deploying Teleport locally or on a Windows VPS UK, this guide will help you get set up efficiently.
Step 1: Update Your System
Before you begin the installation, it's essential to update your system to ensure you have the latest security patches and software updates. Run the following commands:
sudo apt update && sudo apt upgrade
Keeping your system updated is vital whether you're hosting the Teleport cluster locally or deploying it on a UK Windows VPS.
Step 2: Install Teleport
To install Teleport on Debian 11, you need to download the latest version from the official Teleport website. First, navigate to the /usr/local/bin
directory:
cd /usr/local/bin
Use wget
to download the Teleport package:
wget https://get.gravitational.com/teleport-v9.0.2-linux-amd64-bin.tar.gz
Extract the package:
sudo tar -xzf teleport-v9.0.2-linux-amd64-bin.tar.gz
After extracting, move the teleport
binaries to your system path:
sudo mv teleport/teleport /usr/local/bin/
This step works whether you're setting up Teleport on a local Debian machine or deploying it on a Windows VPS hosting UK platform.
Step 3: Create a Teleport Configuration File
Teleport requires a configuration file to manage its services. Create a configuration file in the /etc/teleport.yaml
directory:
sudo nano /etc/teleport.yaml
Add the following configuration to the file:
teleport:
nodename: "teleport-node"
data_dir: /var/lib/teleport
log:
output: stderr
severity: INFO
auth_service:
enabled: "yes"
cluster_name: "mycluster"
listen_addr: 0.0.0.0:3025
proxy_service:
enabled: "yes"
listen_addr: 0.0.0.0:3023
tunnel_listen_addr: 0.0.0.0:3024
web_listen_addr: 0.0.0.0:3080
ssh_service:
enabled: "yes"
listen_addr: 0.0.0.0:3022
Save and close the file. This configuration sets up Teleport to function as an SSH and proxy service within a cluster, allowing both SSH and web-based access.
Step 4: Create a Systemd Service for Teleport
To manage Teleport as a service, you need to create a systemd service file. Use the following command to create the file:
sudo nano /etc/systemd/system/teleport.service
Add the following configuration:
[Unit]
Description=Teleport Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/teleport start --config=/etc/teleport.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target
Save and close the file. Now, reload the systemd service manager and start Teleport:
sudo systemctl daemon-reload
sudo systemctl start teleport
sudo systemctl enable teleport
This ensures that Teleport starts automatically on system boot. This setup works whether you're running it on a local server or a VPS Windows Servers environment.
Step 5: Open Firewall Ports
Teleport uses specific ports for its services. You need to open these ports on your firewall to allow traffic. Run the following commands to open the necessary ports:
sudo ufw allow 3022/tcp
sudo ufw allow 3023/tcp
sudo ufw allow 3024/tcp
sudo ufw allow 3025/tcp
sudo ufw allow 3080/tcp
Once the firewall rules are updated, restart the firewall to apply the changes:
sudo ufw reload
This setup is crucial for allowing access to the Teleport cluster, whether you are deploying locally or on a Windows VPS Italy.
Step 6: Access Teleport Web Interface
You can access the Teleport web interface by navigating to your server’s IP address or domain name in a browser. Use the following URL:
http://your-server-ip:3080
Log in using the default credentials or the user you have configured. This web interface allows you to manage and monitor your Teleport cluster, making it easier to handle secure access across your infrastructure, whether hosted on a local server or a Windows VPS hosting UK.
Step 7: Join Nodes to the Teleport Cluster
To add additional nodes to your Teleport cluster, install Teleport on each node and point them to the primary Teleport server by modifying the teleport.yaml
configuration file. Use the following settings on each additional node:
teleport:
auth_token: "your-auth-token"
auth_servers:
- "teleport-primary-server-ip:3025"
log:
output: stderr
severity: INFO
ssh_service:
enabled: "yes"
listen_addr: 0.0.0.0:3022
After configuring the nodes, restart Teleport on each one to join them to the cluster:
sudo systemctl restart teleport