Start typing to search across invoices, services, domains, tickets, and more...
SSH is the standard way to manage a Linux server remotely. This guide shows how to log in to a Linux server via SSH from Windows 10/11 (using the OpenSSH client built into PowerShell and Windows Terminal, or PuTTY and Xshell), as well as from macOS and Linux terminals. The steps apply to IMIDC VPS and dedicated servers running Debian, Ubuntu, CentOS, Rocky Linux or AlmaLinux.
You need four things: the server's public IP address, the SSH port (22 by default), the username (usually root; some Ubuntu images use ubuntu) and the password or private key. You can find them in your welcome email or by logging in to the client area → My Products & Services → select the server → Manage. The examples below use the placeholder IP 203.0.113.10; replace it with your own.
IP address: 203.0.113.10
SSH port: 22
Username: root
Password: (from the welcome email or client area)
Windows 10 version 1809 and later, and Windows 11, ship with an OpenSSH client. Press Win + X, open Terminal or PowerShell and run the command below. If your server uses a non-standard port, pass it with -p.
# Check that the built-in OpenSSH client is available
ssh -V
# Connect with the default port 22
ssh [email protected]
# Connect with a custom port, e.g. 2222
ssh -p 2222 [email protected]
If Windows says "ssh is not recognized", the OpenSSH client is not installed. Open PowerShell as Administrator and add it:
# Run in PowerShell as Administrator only if "ssh" is not recognized
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
PuTTY: enter the IP in Host Name, set the Port, keep Connection type on SSH and click Open. Type the username at the "login as" prompt, then the password. Save the session under Saved Sessions to reconnect with a double-click. Xshell: create a new session, enter the host and port, fill in the username and password (or pick a key) under user authentication, save it and double-click to connect. Both only need these basic parameters:
Host: 203.0.113.10
Port: 22
Connection type: SSH
Login as: root
On macOS open Terminal or iTerm2; on Linux open any terminal emulator and use the ssh command directly. The client is preinstalled almost everywhere; on minimal systems install it with your package manager:
# macOS / Linux terminal
ssh [email protected]
ssh -p 2222 [email protected]
# Debian / Ubuntu: install the client if missing
sudo apt update && sudo apt install -y openssh-client
# CentOS / Rocky / AlmaLinux: install the client if missing
sudo dnf install -y openssh-clients
The first time you connect, the client shows the server's host key fingerprint and asks whether to continue. Type yes and the key is saved to your local known_hosts file, so you will not be asked again. If you want to be strict about security, log in through the VNC console first, print the real fingerprint and make sure it matches. Note that nothing appears on screen while you type the password; that is normal, just press Enter when done.
The authenticity of host '203.0.113.10 (203.0.113.10)' can't be established.
ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
# On the server (e.g. via the VNC console) print the real fingerprint to compare
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
| Error | Typical cause and fix |
|---|---|
| Permission denied | Wrong username or password, or password/root login is disabled on the server. Check letter case and reset the password from the client area if needed. |
| Connection refused | Wrong port or sshd is not running. Verify the port or check the sshd service through the VNC console. |
| Connection timed out | Wrong IP, server powered off, a firewall blocking the port, or restrictions on your local network. |
| REMOTE HOST IDENTIFICATION HAS CHANGED | The host key changed after an OS reinstall. Remove the old entry from known_hosts. |
# Remove the old host key after a reinstall, then connect again
ssh-keygen -R 203.0.113.10
# Show verbose debug output when a connection fails
ssh -v [email protected]
SSH never echoes passwords, not even as asterisks. Type or paste it (right-click in most terminals) and press Enter. Make sure no extra spaces are pasted.
Routers and NAT devices often close idle connections. Add keep-alive settings to your local SSH config so the client sends a heartbeat regularly:
# ~/.ssh/config (Windows: C:\Users\<you>\.ssh\config)
Host *
ServerAliveInterval 30
ServerAliveCountMax 4
All of them work for daily administration. The built-in client needs no installation, uses the same syntax as macOS and Linux and works well with keys. PuTTY and Xshell suit people who manage many saved sessions and prefer a graphical interface.
Still stuck after following these steps? Open a support ticket and the IMIDC 24/7 technical team will help. Please include the server IP, operating system, the commands you ran and a screenshot of the error so we can pinpoint the issue faster.