Two ways to reach a server from Windows: the ssh client in PowerShell and PuTTY. From first password login to key-based login.

SSH is how you run commands on a server. This guide covers how to connect to a VPS over SSH from Windows two ways: through PuTTY, and through the built-in ssh client (it works in PowerShell and Windows Terminal). Both do the same job - here is each one, from the first password login to key-based login with no password.

TL;DR. Get the server IP and root password from the panel. Built-in client: ssh root@IP, confirm the fingerprint, enter the password. Then create a key with ssh-keygen and copy it to the server - the password is no longer needed. PuTTY does the same: IP in Host Name, key under Auth.

Before you start

Open your server's page in the panel. It shows the IPv4 address and the root password - those are your login details. Copy the password now: it is not echoed when typed into a terminal. If you do not have a server yet, order one first - see "How to order your first VPS".

Path A. Connect through the built-in Windows client (PowerShell / Windows Terminal)

Windows 10 and 11 ship the SSH client. No install needed - open Terminal or PowerShell and go. Everywhere below 203.0.113.10 is an example; use your own server's IP.

Step 1. Check the client is there

Open PowerShell (or Windows Terminal) and run:

ssh -V

A reply like OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2 means it is there. If the command is not found: Settings -> Apps -> Optional features -> Add a feature -> "OpenSSH Client".

Step 2. First connection with a password

Connect as root to the IP from the panel:

ssh [email protected]

On the very first connection the client shows the server's key fingerprint and asks for confirmation:

The authenticity of host '203.0.113.10' can't be established.
ED25519 key fingerprint is SHA256:cKeo+ciXwbZg9QmHHyE95H852Bl2tZtd7O48ewydBC8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

This is anti-spoofing. Compare the fingerprint with what the panel shows, type yes (it is remembered and not asked again), then enter the root password (characters are not shown - that is normal) and press Enter.

Step 3. Create a key so you stop typing the password

A key is a file pair on your machine. The private half stays with you, the public half goes on the server; whoever presents the private key gets in, and a key cannot be brute-forced. Create the pair on your machine:

ssh-keygen -t ed25519 -C "you@laptop"

You can press Enter at all three prompts. A passphrase is optional but safer if the laptop is lost. Two files appear in C:\Users\Name\.ssh: id_ed25519 (private, never share) and id_ed25519.pub (public, goes on the server).

Step 4. Copy the public key to the server

Windows has no ssh-copy-id, so copy it in one line: read the local .pub file and append it to authorized_keys on the server.

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 600 ~/.ssh/authorized_keys"

The last time you type the root password.

Step 5. Key login

Connect again:

ssh [email protected]

It now connects immediately, with no password prompt.

Step 6. A short name instead of the IP

Describe the server in %USERPROFILE%\.ssh\config (create it if missing):

Host web-01
    HostName 203.0.113.10
    User root
    IdentityFile ~/.ssh/id_ed25519

Then this is enough:

ssh web-01

Path B. Connect through PuTTY

PuTTY is a free app from putty.org. Handy because every setting lives in one window and saves as a profile. The installer also adds puttygen.exe (key generator) and plink.exe (the same client for the command line). If PuTTY will not connect, see "Common errors" below.

Step 1. Session: address and port

Put the panel IP in Host Name (or IP address), leave Port at 22, connection type SSH.

Step 2. Save the profile

Type a name in Saved Sessions and click Save. Next time, pick it from the list and click Load.

Step 3. Username

Expand Connection -> Data on the left, put root (or your user) in Auto-login username so PuTTY does not ask for the login every time.

Step 4. Key instead of password

PuTTY uses its own key format - .ppk. Run PuTTYgen, click Generate, move the mouse in the window for randomness, then Save private key. Copy the text from PuTTYgen's top box (the public key) to authorized_keys on the server, as in Path A step 4.

Then in PuTTY: Connection -> SSH -> Auth -> Credentials, Private key file for authentication - point it at the saved .ppk.

Step 5. First connection

Click Open. On the first connection PuTTY shows a Security Alert with the server key fingerprint - the same authenticity check as yes in the built-in client. Compare it with the panel and click Accept.

Once PuTTY is set up, you can connect from PowerShell without a window:

plink -ssh [email protected]

The first time it asks Store key in cache? (y/n) - press y, then enter the password (or the key is used if set in the profile).

Common errors

  • Connection timed out - nothing reaches the server: wrong IP, server off, or the port is firewalled. Check the address in the panel and the server state.
  • Connection refused - the server answers but nothing listens on port 22: sshd is down or SSH is on another port. Use the panel web console.
  • Permission denied (publickey,password) - wrong password, or password auth is off and the key was not picked up. On the server check permissions: ~/.ssh is 700, authorized_keys is 600.
  • REMOTE HOST IDENTIFICATION HAS CHANGED - the server key changed (usually after an OS reinstall). Remove the old entry with ssh-keygen -R 203.0.113.10 and reconnect.

FAQ

Do I need PuTTY on Windows 10 and 11?

No. Windows 10 and 11 ship the built-in OpenSSH client - the ssh command in PowerShell or Windows Terminal. Install PuTTY when you want a GUI with saved connection profiles.

What if PuTTY will not connect?

Check the IP and port 22 in Host Name, the server status in the panel, and the error text. Common messages ("Connection timed out", "Connection refused", "Permission denied") are explained under "Common errors". If SSH is unreachable entirely, use the panel web console.

PuTTY or the built-in client?

For one-off tasks, the built-in ssh: it is already there and works like macOS and Linux. PuTTY is better when you keep many servers and want saved profiles.

Where are the keys on Windows?

In C:\Users\Name\.ssh. The built-in client looks there automatically. PuTTY needs a .ppk file; its path is set in the profile.

Can I use a built-in-client key in PuTTY?

Yes. Open id_ed25519 in PuTTYgen (Conversions -> Import key) and save it as .ppk.

Should I change the root password after setting up a key?

Keep the panel root password - the web console needs it. Disable SSH password login on the server side once the key works.

In short

  • IP and root password are on the server page in the panel.
  • Built-in client: ssh root@IP, confirm the fingerprint, enter the password.
  • Key: ssh-keygen -t ed25519, then copy id_ed25519.pub into authorized_keys on the server - password-free login.
  • PuTTY: IP in Session, username in Connection > Data, .ppk in SSH > Auth > Credentials.
  • Check the first-connection fingerprint against the panel - anti-spoofing.
  • ~/.ssh/config turns a long command into ssh web-01.