Linux servers and SSH
Connect to a server securely, find your way around and keep it updated.
Why it matters
Most applications end up on a Linux machine — a VM, a container host or a managed server. Being able to sign in, read a log and restart a service is the difference between fixing an outage and waiting for someone who can.
Where it fits
What you will learn
- Sign in with an SSH key instead of a password.
- Inspect services, logs, disk and memory.
- Apply security updates.
Before you start
- The software delivery lifecycle✓ Learned
Sign in with a key
ssh-keygen -t ed25519 -C "you@example.com" # once, on your computer
ssh-copy-id deploy@203.0.113.10 # put the public key on the server
ssh deploy@203.0.113.10
Look around
systemctl status nginx # is the service running?
journalctl -u nginx --since "10 min ago"
df -h # disk space
free -h # memory
sudo apt update && sudo apt upgrade # Ubuntu/Debian updates
Watch out: Turn off password sign-in for SSH once keys work, and never share a private key. Each person gets their own key so access can be removed individually.
Tip: A full disk is behind many mysterious outages (databases and logs stop writing). Check df -h early.
Official documentation and references
Documentation
- Ubuntu Server documentation ↗ Official · Canonical (Ubuntu)
Guides
- Ubuntu — OpenSSH server ↗ Official · Canonical (Ubuntu)
Reference
- OpenSSH manual pages ↗ Official · OpenSSH
Learn next
- Containers with Docker ›✓ Learned
Related topics
- Containers with Docker✓ Learned
- Nginx as a reverse proxy✓ Learned
- HTTPS and certificates✓ Learned
Done with this topic?
Reviewed 2026-10-23. Links go to the official documentation unless marked otherwise.