What Is SSH and Why Does It Matter?
SSH (Secure Shell) is an encrypted network protocol that lets you securely control a remote server over an unsecured network. When you connect to your Germany VPS via SSH, every command you type and every response you receive is encrypted end-to-end — no one intercepting the connection can read what you are doing.
SSH gives you a terminal session on your server — the same as sitting at the physical machine with a keyboard. From SSH you can install software, configure services, edit files, restart applications, and do everything required to manage your Linux VPS. It is the fundamental skill for working with any Linux server.
What you need: Your VPS IP address, username (usually root), and the password — all included in the email you receive after deploying your Germany VPS from GermanyVPS.com.
Before You Connect — What You Need
After deploying your Germany VPS, you will receive an email with three pieces of information:
- Your VPS IP address — A Frankfurt IPv4 address, something like
85.215.xxx.xxx - Username — Almost always
rootfor Linux VPS - Password — A randomly generated secure password (change this after first login)
SSH uses port 22 by default. Make sure your local network or firewall is not blocking outbound port 22. If your ISP blocks port 22 (rare but possible), you can request a custom SSH port from support, or use a VPN to bypass the restriction.
Method 1: Windows — PowerShell (Recommended for Windows 10/11)
Windows 10 and Windows 11 include OpenSSH as a built-in feature. This means you can SSH directly from PowerShell or Command Prompt without installing any additional software. This is the simplest and most modern approach for Windows users.
Step 1: Open PowerShell
Press Windows + X and select Windows PowerShell or Terminal. Alternatively, search for "PowerShell" in the Start menu.
Step 2: Connect to Your Germany VPS
Type the following command, replacing YOUR_IP with your actual VPS IP address:
ssh root@YOUR_VPS_IP
# Example:
ssh root@85.215.123.456
Step 3: Accept the Host Key
The first time you connect, SSH will display a fingerprint warning:
The authenticity of host '85.215.123.456' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Type yes and press Enter. This adds your VPS to the list of known hosts — you will not see this prompt again.
Step 4: Enter Your Password
Type your VPS password when prompted. Important: The cursor will not move and no characters will appear while you type — this is intentional security behaviour. Type your password and press Enter.
To paste a password in PowerShell, right-click anywhere in the terminal window. On Windows Terminal, use Ctrl+Shift+V. Do not use Ctrl+V — it sends a control character, not a paste.
Method 2: Windows — PuTTY (Alternative for Older Windows)
PuTTY is a free, open-source SSH client for Windows. It is the traditional choice for SSH on Windows, particularly for users on older versions or those who prefer a dedicated GUI SSH application with session saving.
Step 1: Download and Install PuTTY
Download PuTTY from the official site at putty.org. Run the installer — it is a standard Windows setup wizard.
Step 2: Configure Your Connection
Open PuTTY. In the configuration screen:
- In Host Name (or IP address), enter your VPS IP address
- Ensure Port is set to
22 - Ensure Connection type is set to SSH
- Optional: In Saved Sessions, type a name (e.g., "Germany VPS") and click Save to remember this connection
Step 3: Open the Connection
Click Open. A terminal window appears. If this is your first connection to this server, a security alert appears — click Accept. Enter root as your login username, then enter your password (characters will not display).
Method 3: Mac and Linux — Built-in Terminal
Both macOS and Linux come with SSH pre-installed. No additional software needed — open Terminal and connect immediately.
On macOS
Open Terminal from Applications → Utilities → Terminal or press Cmd + Space and search for "Terminal".
On Linux
Open your system's terminal emulator. On Ubuntu: press Ctrl + Alt + T.
Connect to Your Germany VPS
ssh root@YOUR_VPS_IP
# Or specify port if non-default:
ssh root@YOUR_VPS_IP -p 22
# First connection: accept the fingerprint
# Type: yes
# Then enter your password (invisible as you type)
Productivity tip: Create an SSH alias in your ~/.ssh/config file so you can type ssh myvps instead of the full command:
Host myvps
HostName YOUR_VPS_IP
User root
Port 22
First Login — Essential Steps After Connecting
After connecting to your new Germany VPS for the first time, run these commands to get your server into a good baseline state:
# 1. Update all packages immediately
apt update && apt upgrade -y
# 2. Check your server details
uname -a # OS and kernel version
lscpu # CPU info (should show Ryzen 9950x)
free -h # RAM available
df -h # Disk usage
ip addr # Network interfaces and IP
# 3. Change root password to something memorable
passwd # Enter new password twice
# 4. Set your timezone (optional)
timedatectl set-timezone Europe/Berlin
timedatectl # Verify the change
SSH Keys — The Secure Way to Connect
Password-based SSH login is convenient but not ideal for security. SSH key authentication is significantly more secure — it uses a pair of cryptographic keys rather than a password. Even if an attacker knows your IP and username, they cannot log in without your private key file.
How SSH Keys Work
An SSH key pair consists of two files: a private key (stays on your local computer — never share this) and a public key (placed on the server). When you connect, the server challenges your client with an encrypted message that only the holder of the matching private key can decrypt. No password travels over the network.
Step 1: Generate Your SSH Key Pair
# Generate a modern Ed25519 key pair (recommended)
ssh-keygen -t ed25519 -C "germany-vps-key"
# When asked where to save: press Enter for default (~/.ssh/id_ed25519)
# When asked for passphrase: enter one for extra security (optional but recommended)
# Alternative: RSA 4096-bit (older but universally compatible)
ssh-keygen -t rsa -b 4096 -C "germany-vps-key"
Step 2: Copy Your Public Key to the Server
# Automatic method (easiest)
ssh-copy-id root@YOUR_VPS_IP
# Manual method (if ssh-copy-id not available)
cat ~/.ssh/id_ed25519.pub | ssh root@YOUR_VPS_IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
# Copy public key to server from PowerShell
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@YOUR_VPS_IP "cat >> ~/.ssh/authorized_keys"
Step 3: Test Key Authentication
# Connect — should not ask for password
ssh root@YOUR_VPS_IP
# If it still asks for a password, verify the key was added:
ssh root@YOUR_VPS_IP "cat ~/.ssh/authorized_keys"
Secure Your SSH Configuration
Once SSH keys are working, take these steps to harden your server's SSH configuration. These are the most impactful security improvements you can make:
# Open the SSH server configuration file
nano /etc/ssh/sshd_config
# Find and change these lines:
PasswordAuthentication no # Disable password login (keys only)
PermitRootLogin prohibit-password # Allow root only with keys
Port 22 # Optionally change to a non-standard port
# Save and restart SSH
systemctl restart ssh
# IMPORTANT: Test the new config in a second terminal BEFORE closing your current session
# to make sure you do not lock yourself out
Critical: Always test your new SSH configuration in a second terminal window before closing your current session. If you have made an error and cannot reconnect, use your VPS control panel's web-based console to fix the configuration. Never disable password authentication before confirming key authentication works.
Essential SSH Commands for Germany VPS Management
Once connected, here are the commands you will use most often to manage your Linux VPS:
## SYSTEM INFORMATION
uptime # How long server has been running
htop # Real-time CPU, RAM, process monitor (install: apt install htop)
df -h # Disk usage
free -h # Memory usage
ip addr # IP addresses
## PACKAGE MANAGEMENT (Ubuntu/Debian)
apt update # Update package lists
apt upgrade -y # Upgrade all packages
apt install nginx # Install a package
apt remove nginx # Remove a package
## SERVICE MANAGEMENT
systemctl status nginx # Check service status
systemctl start nginx # Start a service
systemctl stop nginx # Stop a service
systemctl enable nginx # Auto-start on boot
systemctl restart nginx # Restart a service
## FILE OPERATIONS
ls -la # List files (with permissions)
cd /var/www # Change directory
cat /etc/nginx/nginx.conf # Display file contents
nano /etc/hosts # Edit a file (nano is beginner-friendly)
cp file.txt backup/ # Copy file
rm oldfile.txt # Delete file
## FIREWALL (UFW)
ufw status # Check firewall status
ufw allow 80/tcp # Allow HTTP
ufw allow 443/tcp # Allow HTTPS
ufw allow 22/tcp # Allow SSH (do this BEFORE enabling!)
ufw enable # Enable firewall
Troubleshooting SSH Connection Problems
Here are the most common SSH connection errors and their solutions:
- "Connection timed out" — Your VPS is either not running, or a firewall is blocking port 22. Log into your control panel to verify the VPS is running. Check that SSH (port 22) is permitted in any firewall rules.
- "Connection refused" — SSH daemon is not running on your VPS, or is listening on a non-default port. Use the control panel's web console to check and restart the SSH service:
systemctl restart ssh - "Permission denied (publickey)" — You are trying to connect with a key that is not in the server's authorized_keys file. Either use your password to connect and add the key, or use the control panel's web console.
- "Host key verification failed" — The server's fingerprint has changed (can happen after OS reinstall). Run:
ssh-keygen -R YOUR_VPS_IPto remove the old fingerprint, then reconnect. - Password not accepted — Check for Caps Lock. Passwords are case-sensitive. Copy-paste the password directly from your email — do not manually retype complex passwords.
Debug SSH connection: Add -v (verbose) to your SSH command for detailed connection diagnostics:ssh -v root@YOUR_VPS_IP