In this guide: Windows: SSH key without ssh-copy-id. Manual authorized_keys.
Commands below target a typical Linux setup (Ubuntu/Debian). On other distros, package/service names may differ.
If something goes wrong: check the service is running, listening on the expected port, and that your firewall allows the connection. For web services, `nginx -t` and `journalctl -u nginx` are good starting points. After adding the key, verify permissions on `~/.ssh` and `authorized_keys` or OpenSSH may refuse it.
After completing the steps below, verify the result: service status, logs, and network reachability. This saves hours when an issue shows up later.
Below you’ll find a quick checklist, verification commands, and common pitfalls. This helps you not only “do it”, but also confirm what a correct outcome looks like.
Quick checklist
- Confirm you are connecting to the correct IP.
- Ensure SSH is reachable (port 22) and not blocked by a firewall.
- After first login, update the system and create a non-root user.
- Make one small change at a time and verify the result immediately.
- Keep notes of what you changed (file/command/time).
Verify the result
# Verify / sanity checks
whoami
uname -a
ip a | head -n 50
ss -lntup | head -n 50Common pitfalls
- Mixing up IP/username when using SSH.
- Skipping updates/basic hardening after first login.
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo 'PASTE_PUBLIC_KEY_HERE' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keysNeed a VPS now?
Rent a WHITEWHALE VDS and launch in minutes.
European locations, transparent pricing, quick self-serve ordering.
