How to Connect to Selfmade Ninja Lab with WireGuard (Windows)

Start Your Journey with SNA Labs (Windows Edition)

To begin working inside SNA Labs, the first step is to securely connect from your Windows system. Once connected, you’ll get access to multiple lab environments where you can build projects, solve challenges, and grow real cyber skills through hands-on experience.

SNA Labs offers a range of learning spaces, including:

  • Machine Labs for Linux and development practice
  • Challenge Labs for capture-the-flag missions
  • Database and backend services
  • Gamified learning like Spot Quiz, Code Arena, Learn AI, and more

We’ll explore each of these features in separate articles so you can make the most out of them.

Two Subscription Options

SNA Labs allows both Free and Pro users to learn and explore:

Free Plan

  • Can sign in with a Git account
  • Can access Machine Labs through VS Code Web only
  • Limited CTF missions and lab features
  • Cannot add devices or connect via SSH

Pro Plan

  • Full access to labs and features
  • Can connect Machine Labs directly from local VS Code on Windows
  • Can add devices to the lab using SSH
  • Access to a wide variety of CTF challenges and environments

No matter which plan you’re on, this Windows guide will show you how to connect to SNA Labs and start working just like a real engineer.

Create Your Git Account

Before connecting from your Windows OS, you’ll need a Selfmade Ninja Git account.

If you don’t already have one, go to: git.selfmade.ninja and create it.

  • You’ll see the sign-up page (as shown above).
  • Enter your details and click Sign Up.
  • A confirmation email will be sent to your inbox. Open it, click the verification link, and log in.
  • That’s it — your Selfmade Ninja Git account is ready to use!

Lab Access for All Users

After you log in, you’ll land on the Labs home page.

  • Click Machine Labs.
  • You’ll see the Essentials Lab listed there — click Dashboard to open its control panel.

  • In the top-right corner, you’ll see a Deploy button. Click it.

  • A dialog box will appear showing details like the IP address and the VS Code Web domain. Just hit Confirm Deploy.

  • Give it a few seconds, and your Essentials Lab will start up and move into a running state. Now it’s ready for you to use.

  • Click Code in the top-right corner.
  • A dialog will appear — copy the Code Server Password.

  • Click Launch Code IDE.

  • A new browser tab opens asking for a password — paste the one you copied and submit.
  • You’re now connected to the Essentials Lab through VS Code Web.
  • You can customize your theme and start coding right away.

That’s it! You have connected with the essentials lab.

Lab Access for Pro Users

If you’re on the Pro plan, you get full control over how you work in the Essentials Lab. You can connect in two different ways:

  • Through VS Code Web (already covered)
  • Through VS Code installed on your Windows PC

To use your local VS Code, your system must connect to the lab over SSH.

For that to work, you’ll need to:

  1. Generate an SSH key on your Windows system
  2. Adding your public key to your Selfmade Ninja Git account
  3. Connecting to the lab using WireGuard VPN

SSH access only works when the VPN is active — that’s what securely links your PC to the lab network.

Generate an SSH Key on Windows

To connect your Windows PC to the lab using SSH, you first need to create an SSH key.

  1. Open PowerShell (Press Win + S, type PowerShell, and hit Enter)
  2. Run one of the following commands to generate your SSH key pair:

Recommended — ED25519:

ssh-keygen -t ed25519 -C "key-name"

If RSA is required:

ssh-keygen -t rsa -b 2048 -C "key-name"
  • After running the command, press Enter to accept the default file location unless you have a specific reason to change it.
  • Continue pressing Enter for the remaining steps unless you want to set a passphrase.

Once the key is generated you will see something like this.

View Your SSH Public Key

After generating your SSH key, the next step is to copy the public key and add it to your Git account.

To view the public key, run this command in PowerShell:

For ED25519:

type ./.ssh/id_ed25519.pub

For RSA:

type ./.ssh/id_rsa.pub

Both commands will print your public key directly in the terminal, so you can copy it and add it to your Git account.

Add SSH Key to Your Git Account

  • Once you’re logged in to the Git account you created earlier, look at the top-right corner of the page. Click on your profile icon, and from the menu that appears, select Preference

  • In the sidebar, open SSH Keys.
  • Click Add SSH Key
  • Paste the public key you copied from the terminal into the text box provided.
  • Give it a name (any label that helps you identify the device).

  • After giving all the details click Add key.
  • Now your ssh key is added successfully.

Install WireGuard on Windows

To securely connect your Windows PC to SNA Labs, you’ll need WireGuard installed.

  • Download the installer from the WireGuard website
  • Run the installer and complete the setup like any normal Windows application.
  • After installation, search for WireGuard in the Start menu and open it.
  • To confirm it’s installed correctly, you should see the WireGuard app running without errors.
  • WireGuard is now ready on your Windows PC.
  • You do not need to generate any WireGuard keys — the Labs system handles that part for you automatically.
  • Let’s continue with the final steps and connect your Windows PC to SNA Labs.

Connecting Your Windows PC to SNA Labs

  • Now that everything is installed and ready, it’s time to connect your Windows system to the SNA Labs network.
  • First, open the Labs portal and log in: SNA labs
  • Once you’re logged in, you’ll begin linking your Windows PC with the lab environment — so you can start working on real, hands-on projects right away.

  • If you’re already signed in to your Selfmade Ninja Git account, you’ll be redirected straight to the Labs home page — no extra login needed.
  • If not, just log in using the Git credentials you created earlier.
    Once you’re in, you’re ready to complete the final setup and connect your PC to the lab.

  • Once you login to labs, you will see this page, go to machine labs
  • From the sidebar click connectivity from there click devices.

  • Once the Devices page opens, click on the Add Device button.
  • A dialog box will appear.
    Enter your Device Name, choose the Device Type, and make sure to select all the checkboxes related to WireGuard.

After that, you’re ready to move to the next step.

  • You’ll now see your Ubuntu device listed on the Devices page.
  • Click the three dots in the top-right corner of that device entry. From the menu that appears, select Show Configuration.

  • Now you can see ‘Download Tunnel File’ option in the show Configuration page.

  • Add the Configuration to WireGuard (Windows)

    After downloading the configuration from the Labs page, follow these steps:

    • Open WireGuard app(Press Win + S, type WireGuard, and open it)

    • Click Add Tunnel → Add empty tunnel dropdown → choose “Import tunnel(s) from clipboard)”
      (since you already downloaded the config)
    • Browse and select the downloaded configuration file (e.g., your device_name.conf)
    • Click Save

    Your WireGuard tunnel is now ready to activate.

    Connect with Essentials Lab

    • When you first open the Essentials Lab, it won’t be running yet.
    • Click on the Dashboard button for the Essentials Lab — this takes you to its control panel.
    • In the top-right corner, you’ll see a Deploy button. Click it.
    • A dialog box will appear showing details like the IP address and the VS Code Web domain. Just hit Confirm Deploy.

    • Give it a few seconds, and your Essentials Lab will start up and move into a running state. Now it’s ready for you to use.

    Once the deployment is complete, you’ll see this control panel for your lab.

    VS Code Local Setup

    Now let’s connect the Essentials Lab to your local VS Code on your desktop.

    • In the lab control panel, copy the SSH command shown there.
    • Open VS Code on your system.
    • Click Open Remote Window (bottom-left corner).

    • From the menu at the top, select Connect to Host → Add New SSH Host.
    • Paste the SSH command you copied from the lab.

    • VS Code will show a path and ask for confirmation — just press Enter to accept the default.
    • You’ll see a small notification in the bottom-right saying Host added!
    • Now everything is ready.
    • Again, click Open Remote Window, select Connect to Host
    • you’ll see the newly added host (the lab IP).

    Click it, and a new VS Code window will open — connected directly to your Essentials Lab.

    Done. Your local VS Code is now fully linked with the lab environment.

Leave a Comment

Edit Template

Share

Realted Blog >>

hosting flask application
Hosting a Flask Website via Apache Server in Selfmade Ninja Lab
Hosting a Flask Website via Apache Server [WSGI]: A Step-by-Step Guide A Step-by-Step Guide for Aspiring...
MQTTscale 5
Hosting MQTT Service in Selfmade Ninja Labs
Welcome to the Guide on Setting Up and Using MQTT in Selfmade Ninja Labs Welcome to your comprehensive...
Connect Selfmade Ninja Labs
How to Connect to Selfmade Ninja Labs with WireGuard (Ubuntu)
Welcome to our guide on how to connect Selfmade Ninja Labs using SSH and WireGuard on Ubuntu. This step-by-step...
1 2 3 7
Scroll to Top