How to start with WinSparrow Linux server via SSH
How to Connect to Your Linux Server via SSH
Everything you need to access, manage, and secure your Linux VPS from any device. From zero to pro in 15 minutes.
01. What is SSH?
SSH (Secure Shell) is a cryptographic network protocol that allows you to securely access and manage a remote server over the internet. Think of it as opening a terminal window directly on your server in the data center — but from your home or office computer.
Why SSH Matters
| Feature | Details |
|---|---|
| 🔒 Full Encryption | All data between you and the server (passwords, commands, files) is fully encrypted — no one can eavesdrop |
| ⚡ Speed & Efficiency | Much faster than any GUI — saves time and server resources |
| 🌍 Access Anywhere | Connect from any device, any location in the world |
| 🔑 Strong Authentication | Supports password and SSH key-based login (most secure method) |
| 📁 Secure File Transfer | Transfer files to and from the server using SCP or SFTP protocols |
How SSH Works
02. Before You Start: What You Need
After purchasing a Linux VPS from WinSparrow and receiving your activation email, you'll find 3 essential pieces of information — that's all you need to connect:
| Information | Description | Example |
|---|---|---|
| IP Address | Your server's internet address | 185.203.xxx.xxx |
| Username | Login username (usually root) | root |
| Password | Initial temporary password | xK9#mP2$vL7 |
This password is temporary — the very first thing you should do after logging in is change it. We'll show you how below.
03. Method 1: Connect from Windows Terminal
If you have Windows 10 (version 1809 or later) or Windows 11, SSH is already built in. No downloads needed!
Open Windows Terminal or PowerShell
Press the Windows key on your keyboard, type Terminal or PowerShell, and press Enter.
Type the SSH Connection Command
ssh [email protected]
Replace 185.203.xxx.xxx with your actual server IP from the activation email.
Accept the Server Fingerprint (First Time Only)
The first time you connect, you'll see a message like this:
The authenticity of host '185.203.xxx.xxx' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Type yes and press Enter. This is completely normal — the system is asking you to confirm you want to connect to this server. You won't see this message again for this server.
Enter Your Password
[email protected]'s password:
When typing your password, no characters or asterisks will appear on screen — this is normal Linux security behavior. Just type the full password and press Enter.
You're In! 🎉
If everything is correct, you'll see a welcome screen like this:
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-91-generic x86_64)
System information as of Mon Aug 12 13:41:00 UTC 2026
System load: 0.08
Usage of /: 8.2% of 97.87GB
Memory usage: 12%
Swap usage: 0%
root@winsparrow-vps:~#
The prompt root@winsparrow-vps:~# means you're connected as root and ready to run commands!
04. Method 2: Connect Using PuTTY
PuTTY is the most popular SSH client for Windows with a graphical user interface. If you prefer clicking over typing commands, this is your go-to option.
Step 1: Download & Install PuTTY
- Visit the official website: putty.org
- Download the MSI installer (64-bit version for most systems)
- Install with the standard wizard (Next → Next → Install)
Step 2: Configure the Connection
- Open PuTTY
- In the Host Name (or IP address) field → enter your server IP
- Make sure Port is set to 22
- Make sure Connection type is set to SSH
- (Optional) In Saved Sessions → type a name like
WinSparrow Linuxand click Save for quick access later
Step 3: Connect!
- Click Open
- If a security alert about the server's host key appears → click Accept (normal for first connection)
- A black terminal window opens → type
root→ press Enter → type your password → press Enter - You're in! 🎉
Recommended PuTTY Settings
| Setting | Location | Benefit |
|---|---|---|
| Font size | Window → Appearance → Font | Better readability |
| Save session | Session → Saved Sessions → Save | Don't re-enter details every time |
| Keep Alive | Connection → Keepalives → 30 | Prevents connection timeout |
| Logging | Session → Logging → All output | Saves session to a file |
05. Method 3: Connect from macOS or Linux
Both macOS and Linux have SSH built in — nothing to install!
- Open Terminal:
- macOS: Press
Cmd + Space→ typeTerminal→ Enter - Linux: Press
Ctrl + Alt + T
- macOS: Press
- Type the connection command:
ssh [email protected]
- Accept the fingerprint (first time only) → type
yes - Enter your password
- Done! You're connected! 🎉
06. First Steps: Securing Your Server
After your first login, there are a few essential steps you should take immediately to secure your server.
6.1 — Change Your Password Immediately
passwd
You'll be prompted to enter a new password twice for confirmation.
Use at least 16 characters mixing uppercase, lowercase, numbers, and symbols. Example: Xk9#mP2$vL7&qR4!
6.2 — Update the System
apt update && apt upgrade -y
This downloads and installs the latest security patches. May take 2-5 minutes depending on available updates.
6.3 — Create a Non-Root User
Working as root all the time is risky — any wrong command could damage the entire system. Best practice is to create a regular user with sudo privileges:
# Create a new user
adduser ahmed
# Give them sudo (admin) privileges
usermod -aG sudo ahmed
Then log in as the new user:
ssh [email protected]
Use sudo before any command that needs admin privileges:
sudo apt update
6.4 — Reboot (If Kernel Updates Were Installed)
sudo reboot
The server will take about 30 seconds to a minute to come back online. Then reconnect normally.
07. Advanced Security: SSH Key Authentication
SSH keys are the most secure way to log in. Instead of typing a password every time (which can be guessed or brute-forced), you use an encrypted key pair — like having a unique digital key that no one else in the world has.
How SSH Keys Work
| Key | Location | Purpose |
|---|---|---|
| 🔑 Private Key | On your computer — NEVER share it! | Proves your identity |
| 🔓 Public Key | On the server | Recognizes your private key |
Think of them as a lock and key: the Public Key is the lock you install on the server, and the Private Key is the key only you have.
Step 1: Generate Your Key Pair
Run this on your local computer (Windows PowerShell, macOS Terminal, or Linux Terminal):
ssh-keygen -t ed25519 -C "[email protected]"
You'll be asked a few questions:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519): [Press Enter to accept]
Enter passphrase (empty for no passphrase): [Type a passphrase or press Enter]
Enter same passphrase again: [Confirm]
It's recommended to set a passphrase — this adds an extra layer of security. Even if someone steals your key file, they can't use it without the passphrase.
Step 2: Copy Your Public Key to the Server
Easy Method (macOS / Linux)
ssh-copy-id [email protected]
Manual Method (Windows)
First, display your public key:
cat ~/.ssh/id_ed25519.pub
Copy the entire line that starts with ssh-ed25519. Then log into your server and add it:
# Create the directory if it doesn't exist
mkdir -p ~/.ssh
# Add your public key
echo "ssh-ed25519 AAAA...your-key-here..." >> ~/.ssh/authorized_keys
# Set correct permissions (critical!)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Step 3: Test Key-Based Login
ssh [email protected]
If everything is set up correctly, you should connect without being asked for a password! 🎉
Step 4 (Recommended): Disable Password Login
After confirming SSH keys work, disable password authentication to block brute-force attacks:
sudo nano /etc/ssh/sshd_config
Find and change these lines:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password
Then restart the SSH service:
sudo systemctl restart sshd
Before disabling password authentication, make absolutely sure your SSH keys are working. If you disable passwords and keys aren't set up, you'll be locked out! Contact WinSparrow support if that happens.
08. Changing the Default SSH Port
The default SSH port is 22, and every automated scanner knows it. Changing it to a custom port significantly reduces brute-force attempts.
sudo nano /etc/ssh/sshd_config
Change the line:
# Change from:
#Port 22
# Change to:
Port 2222
You can use any port number between 1024 and 65535. Then restart SSH:
sudo systemctl restart sshd
From now on, connect using the -p flag:
ssh -p 2222 [email protected]
If you use PuTTY, just change the Port field from 22 to your new port number in the Session settings.
09. Essential Linux Commands
Here are the most important commands you'll use daily to manage your server.
File Navigation & Management
| Command | Description | Example |
|---|---|---|
ls | List directory contents | ls -la |
cd | Change directory | cd /var/www |
pwd | Print working directory | pwd |
mkdir | Create a directory | mkdir my-project |
rm | Remove file or directory | rm -rf folder/ |
cp | Copy files | cp file.txt /backup/ |
mv | Move or rename files | mv old.txt new.txt |
cat | View file contents | cat config.txt |
nano | Edit a text file | nano /etc/hosts |
find | Search for files | find / -name "*.log" |
System Monitoring
| Command | Description |
|---|---|
top / htop | Monitor processes, CPU & RAM in real time |
df -h | Disk space usage (human-readable) |
free -h | Memory usage |
uptime | How long the server has been running |
whoami | Show current username |
uname -a | System information |
systemctl status | Check status of a service |
journalctl -xe | View system logs |
Package Management (Ubuntu/Debian)
| Command | Description |
|---|---|
apt update | Refresh the list of available packages |
apt upgrade -y | Install all available updates |
apt install <pkg> | Install a new package |
apt remove <pkg> | Remove a package |
apt search <keyword> | Search for a package |
Networking
| Command | Description | Example |
|---|---|---|
ip addr | Show network configuration | ip addr show |
ping | Test connectivity | ping google.com |
curl | Test URLs / download data | curl -I https://winsparrow.com |
wget | Download files | wget https://example.com/file.zip |
ss -tulnp | List open ports | ss -tulnp |
10. Transferring Files To & From Your Server
SCP (Secure Copy) — Command Line
Upload a file to the server
scp file.txt [email protected]:/home/ahmed/
Download a file from the server
scp [email protected]:/var/log/syslog ./
Upload an entire folder
scp -r my-folder/ [email protected]:/home/ahmed/
SFTP — Interactive Mode
sftp [email protected]
sftp> put localfile.txt # Upload a file
sftp> get remotefile.txt # Download a file
sftp> ls # List remote files
sftp> lcd ~/Desktop # Change local directory
sftp> exit # Disconnect
WinSCP — GUI for Windows (Drag & Drop)
If you prefer a graphical interface for file management:
- Download WinSCP from the official website
- Open it and select SFTP as the protocol
- Enter your IP, username, and password
- Click Login
- You'll see a split-screen: your computer on the left, server on the right
- Drag and drop files between them!
11. Troubleshooting Common Issues
❌ "Connection refused"
ssh: connect to host 185.203.xxx.xxx port 22: Connection refused
Possible causes & solutions:
- Server hasn't fully started yet → Wait 1-2 minutes and retry
- SSH service isn't running → Contact WinSparrow support
- Port was changed → Use the correct port with
ssh -p <port>
❌ "Connection timed out"
ssh: connect to host 185.203.xxx.xxx port 22: Connection timed out
- Wrong IP → Double-check the IP in your activation email
- Network issue on your end → Test with
ping 185.203.xxx.xxx - Firewall blocking port 22 → Check with your network admin
❌ "Permission denied (publickey)"
Permission denied (publickey).
- Server only accepts SSH key login (password disabled)
- Your public key isn't in
~/.ssh/authorized_keyson the server - Permissions are wrong →
.sshmust be700,authorized_keysmust be600
❌ "REMOTE HOST IDENTIFICATION HAS CHANGED!"
This appears when the server was re-imaged or its host key changed. If you intentionally reinstalled:
ssh-keygen -R 185.203.xxx.xxx
Then reconnect normally.
❌ Connection Drops After Being Idle
Create or edit the SSH config file on your local machine:
nano ~/.ssh/config
Add this configuration:
Host winsparrow
HostName 185.203.xxx.xxx
User root
Port 22
ServerAliveInterval 60
ServerAliveCountMax 3
Now connect with just: ssh winsparrow
12. Pro Tips for Daily Use
1. Use an SSH Config File
Instead of remembering IPs and ports, create a ~/.ssh/config file:
Host myserver
HostName 185.203.xxx.xxx
User ahmed
Port 2222
IdentityFile ~/.ssh/id_ed25519
Then connect with a single word: ssh myserver
2. Use tmux for Persistent Sessions
If you're running long tasks and worried about losing progress if your connection drops:
# Install tmux
sudo apt install tmux -y
# Start a new named session
tmux new -s mysession
# If disconnected, reattach to your session
tmux attach -t mysession
Even if your internet drops, the session keeps running on the server!
3. Enable UFW Firewall
# Allow SSH through the firewall
sudo ufw allow 22/tcp
# Enable the firewall
sudo ufw enable
# Check active rules
sudo ufw status
4. Install fail2ban (Auto-Block Attackers)
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
fail2ban automatically bans any IP that fails to log in after a set number of attempts — essential protection against brute-force attacks.
✨ Quick Summary: Zero to Pro
| Step | Action | Time |
|---|---|---|
| 1️⃣ | Receive server credentials from WinSparrow email | — |
| 2️⃣ | Open Terminal, type ssh root@IP | 30 sec |
| 3️⃣ | Accept fingerprint, enter password | 30 sec |
| 4️⃣ | Change password with passwd | 1 min |
| 5️⃣ | Update system: apt update && apt upgrade -y | 2-5 min |
| 6️⃣ | Create a non-root user | 1 min |
| 7️⃣ | Set up SSH key authentication | 5 min |
| 8️⃣ | Install fail2ban & enable UFW firewall | 3 min |
| 🏁 | Secure, production-ready server | ~15 min |
Ready to Get Started?
Get your Linux VPS from WinSparrow and connect in under 60 seconds.
🔵 Prime Plans
1Gbps stable bandwidth from the smallest plan. Perfect for speed-critical workloads.
🟠 Legacy Plans
All ports open + full flexibility. Ideal for email, cybersecurity & advanced use cases.
💬 Need Help?
Our support team is always ready to assist you — response time is usually under 5 minutes.
Support Ticket
From your dashboard — fastest method
WhatsApp / Telegram
Quick responses, typically < 5 min
Phone
+20 15 55651661