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:
- Generate an SSH key on your Windows system
- Adding your public key to your Selfmade Ninja Git account
- 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.
- Open PowerShell (Press Win + S, type PowerShell, and hit Enter)
- 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.
- 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
- 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.
- 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).
Add the Configuration to WireGuard (Windows)
After downloading the configuration from the Labs page, follow these steps:
Your WireGuard tunnel is now ready to activate.
Connect with Essentials Lab
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.
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.